Tencent / puerts

PUER(普洱) Typescript. Let's write your game in UE or Unity with TypeScript.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[UE] Question: Mixin 可以扩展蓝图类的原有函数吗?

EvenZHAnglll opened this issue · comments

detail | 详细描述

Mixin 能否实现扩展原有蓝图函数,而不是完全替代原有蓝图函数逻辑

我在TS中,Mixin了一个蓝图类,可以实现替换原有蓝图的函数逻辑。但我想要的是,保留原有蓝图函数逻辑的基础上,给这个函数增加新的逻辑,类似于继承后调用super函数。

为什么不用继承呢?因为这个蓝图类的Actor生成是在另一个蓝图中控制的。如果用TS继承一个新的TS类,那么要就需要修改,生成Actor的蓝图去使用新的TS类。

如果把继承出来的TS类 mixin 到原有蓝图类,并在覆盖的函数中调用super,那么会触发死循环,报错 Maximum call stack size exceeded。

所以在不改动原有蓝图的情况下,能不能实现用TS增加一个蓝图函数的逻辑?

很合理,类似于UnLua里面的overridden功能:调用被覆盖的原始逻辑。

不支持调用原来逻辑。
通过super调用基类可以,但要通过另外一个js class,demo有相关实例。