比如我有一个吃东西的方法,IEat,猫和狗的eat方法不一样,是要实现DogEatComponent和CatEatComponent吗?但是如果我想从一个entity上获取能吃东西这个功能的组件,现在没办法实现entity.GetComponent<IEat>()这种写法,求教一下这样应该怎么写
一个EatComponent,带个AnimalType字段,针对这个类型编写吃这个动作的InvokeHanlder, 在Eat()方法里是调用EventSystem.Instance.Invoke(AnimalType.Dog, …)触发猫狗的吃动作。
asksim 多谢
多看熊猫语录:
https://www.yuque.com/et-xd/docs/num22w
第三点:ECS代替多态就是用不同的类型进行逻辑分发来解决。
asksim 但是如果我想获取返回值要怎么做呢
EventSystem.Instance.Invoke这个不就可以支持返回值吗
egametang 看到了 多谢!