y3-editor / y3-lualib

MIT License
146 stars 43 forks source link

移除对象产生的一个问题 #531

Closed padoruuu closed 1 week ago

padoruuu commented 2 weeks ago

一些情况下可能会延迟调用一个函数,比如某个技能有前摇时间,在施法出手事件内,对目标造成伤害,并且给这个目标发起一个event_notify事件,然后遇到了一个问题,又在一些特殊情况下,会remove掉目标单位,导致event类被移除,所以当目标单位发起event_notify事件时产生了报错,method 'event_notify' 如果每次发起事件前,都检查对象是否存在感觉太麻烦了

sumneko commented 1 week ago

删除单位不会移除 event 类鸭,截图看看?

padoruuu commented 1 week ago

找到原因了,在施法开始阶段移除目标,在施法出手阶段用ability:get_target获取到的是userdata,我换成cast:get_target_unit就能正确返回nil了,但是用cast取目标不太方便。。

sumneko commented 1 week ago

你获取到的应该是 point 。 另外为啥用 cast 取目标不方便?感觉 data.ability:get_target()data.cast:get_target_unit() 没啥区别吧