예제 #1
0
 public virtual void Awake()
 {
     EventDispatcher.AddEventListener <Package>(NetSceneEvent.GetNetBehaviorEventName(handlerId), OnNetUpdate);
     if (isClientCreate)
     {
         EventDispatcher.AddEventListener(NetSceneEvent.NetSceneReady, RequestObjectJoin);
     }
 }
예제 #2
0
 public virtual void Awake()
 {
     EventDispatcher.AddEventListener <Package>(NetSceneEvent.GetNetBehaviorEventName(handlerId), OnNetUpdate);
     //如果是由客户端创建则自动销毁
     if (isClientCreate)
     {
         EventDispatcher.AddEventListener(NetSceneEvent.NetSceneDisconnect, RequestDestroy);
     }
 }
예제 #3
0
 public virtual void OnDestroy()
 {
     if (isClientCreate)
     {
         EventDispatcher.RemoveEventListener(NetSceneEvent.NetSceneReady, RequestObjectJoin);
         if (NetSceneManager.Instance.sceneConnected)
         {
             RequestDestroy();
         }
     }
     EventDispatcher.RemoveEventListener <Package>(NetSceneEvent.GetNetBehaviorEventName(handlerId), OnNetUpdate);
 }
        protected override void Handle(Package package, Action act = null)
        {
            var id = EnumEx.GetValue <HandlerConst.RequestId>(package.eventId);

            EventDispatcher.TriggerEvent <Package>(NetSceneEvent.GetNetBehaviorEventName(id), package);
        }
예제 #5
0
 public virtual void OnDestroy()
 {
     EventDispatcher.TriggerEvent <NetBehavior>(NetSceneEvent.NetBehaviorRemoveFromScene, this);
     EventDispatcher.RemoveEventListener <Package>(NetSceneEvent.GetNetBehaviorEventName(handlerId), OnNetUpdate);
     RequestDestroy();
 }