Skip to content

Latest commit

 

History

History
43 lines (37 loc) · 988 Bytes

ET动态事件.md

File metadata and controls

43 lines (37 loc) · 988 Bytes

[ET动态事件]

可以灵活的增删Entity响应的事件,不依赖委托实现,可以Reload

1.定义事件:

[DynamicEvent(SceneType.Client)]
public class Test_DynamicEvent:ADynamicEvent<TestEntity,DynamicEventType.Test>
{
    protected override async ETTask Run(Scene scene, TestEntity self,DynamicEventType.Test arg)
    {
        //to do something
    }
}

2.注册实体:

testEntity.AddComponent<DynamicEventComponent>();

DynamicEventWatcherComponent.Instance.Register(testEntity);

3.反注册实体:

testEntity.RemoveComponent<DynamicEventComponent>();

DynamicEventWatcherComponent.Instance.UnRegister(testEntity);

4.通知事件:

DynamicEventWatcherComponent.Instance.Publish<DynamicEventType.Test>(scene, new DynamicEventType.Test())

await DynamicEventWatcherComponent.Instance.PublishAsync<DynamicEventType.Test>(scene, new DynamicEventType.Test())