123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using CommonAI.ZoneClient;
- using ET;
- using ET.Client;
- using ET.EventType;
- public class BattleObject
- {
- protected ZoneObject ZoneObject;
- public uint Id { get { return ZoneObject.ObjectID; } }
- public BattleObject() { }
- public virtual void OnAwake(ZoneObject zo)
- {
- ZoneObject = zo;
- EventSystem.Instance.Publish(CurrentScene(), new OnNewZoneObject() { Object = this });
- }
- public virtual void OnSleep()
- {
- EventSystem.Instance.Publish(CurrentScene(), new OnDestroyZoneObject() { Object = this });
- ObjectPool.Instance.Recycle(this);
- }
- private static Scene _CurrentSceneCache = null;
- public static Scene CurrentScene()
- {
- if (_CurrentSceneCache == null)
- {
- var cs = ClientSceneManagerComponent.Instance.GetChild<Scene>(UnitListComponent.Instance.DomainZone());
- _CurrentSceneCache = cs.GetComponent<CurrentScenesComponent>().Scene;
- }
- return _CurrentSceneCache;
- }
- [Event(SceneType.Current)]
- public class AfterCreateCurrentScene_Battle : AEvent<ET.EventType.AfterCreateCurrentScene>
- {
- protected override async ETTask Run(Scene scene, ET.EventType.AfterCreateCurrentScene args)
- {
- _CurrentSceneCache = null;
- await ETTask.CompletedTask;
- }
- }
- }
|