Ex-Hard
Ex-Hard
不会的,因为这里的attr.Name是属性的全名:【set名】.【属性短名】。 AttributeBase中有三个名字: public readonly string Name; public readonly string SetName; public readonly string ShortName;
Instant GE会跳过找不到属性的modifier。 Durational GE会正常生效,同样的也会跳过找不到属性的modifier。
1.如何动态修改game play effect 里的duration。技能升级之后duration可能要延长。 A:GameplayEffectSpec提供了SetDuration()方法可以手动修改duration。CD的实现逻辑就是依赖SetDuration()。 如果是buff叠加类的时间刷新或者延长duration,可以等最近的GameplayEffect stack的功能补全。用ge stack会更方便一点。 2.如何动态修改timeline里的mark的trigger帧数。 A:如果你是说动态的修改Mark的执行在第几帧,那现在还没有接口。时间轴技能目前没有提供原生参数的构造函数。 这个需求挺合理的,我可以之后加上动态生成时间轴技能数据的方法。
这个是设置激活时间的接口,通常不会主动调用,只有对GameplayEffect的持续时间有特殊控制的时候才会有可能调用。一般ActivationTime只有Duration相关逻辑能直接修改。 如果有遇到特殊情况,比如:需要不通过GE的自身生命周期,从外部强行改动GE的激活起始时间,或者刷新持续时间,这时候可以调用SetActivationTime
目前不行,1.0是针对单机和弱联机游戏的。可以看一下issues #32的整体开发计划。
文档和issues里有写,1.0和2.0不会有,3.0开始会开发网络同步相关的部分
当时开发过程里,为了方便理解GAS才把ActiveGE分离出来。但是实际游戏里一个单位的GE数量不会太多(100个GE都已经算是很夸张了)。遍历的损耗不多,代码便于维护的话,应该只维护一个全部的GE List。 我之后会对GameplayEffectContainer整体优化一下。谢谢你提出问题和建议。
是不一样的,我在写的时候发现UE的GAS是计算类型同类整合。我觉得这样设计反直觉,MMC本身就是公式逻辑,自动整合对公式的自由实现不友好,所以我改成了依赖顺序的计算逻辑。