コード例 #1
0
 protected override void OnChangeMyController(BaseObject oldController)
 {
     if (MyController != null && !(MyController is MovingEntity))
     {
         throw new NotSupportedException("Only MovingEntity objects\n" + MyController.GetType().FullName);
     }
     base.OnChangeMyController(oldController);
     if (oldController != MyController)
     {
         LegacyLogic.Instance.EventManager.UnregisterEvent(EEventType.MONSTER_DIED, new EventHandler(OnEntityDied));
     }
     if (MyController != null)
     {
         LegacyLogic.Instance.EventManager.RegisterEvent(EEventType.MONSTER_DIED, new EventHandler(OnEntityDied));
     }
 }
コード例 #2
0
 protected override void OnChangeMyController(BaseObject oldController)
 {
     base.OnChangeMyController(oldController);
     if (oldController != MyController)
     {
         DelayedEventManager.UnregisterEvent(EDelayType.ON_FRAME_END, EEventType.MOVE_ENTITY, new EventHandler(OnPartyMove));
         LegacyLogic.Instance.EventManager.UnregisterEvent(EEventType.NPC_HIRELING_UPDATED, new EventHandler(OnNPCHirelingUpdated));
         LegacyLogic.Instance.EventManager.UnregisterEvent(EEventType.TOKEN_ADDED, new EventHandler(CheckVisibility));
         LegacyLogic.Instance.EventManager.UnregisterEvent(EEventType.PARTY_BUFF_ADDED, new EventHandler(CheckVisibility));
         LegacyLogic.Instance.EventManager.UnregisterEvent(EEventType.PARTY_BUFF_REMOVED, new EventHandler(CheckVisibility));
     }
     if (MyController != null && !(MyController is InteractiveObject))
     {
         Debug.LogError("DiscoverHighlightViewBase: OnChangeMyController: works only for InteractiveObjects! Was given '" + MyController.GetType().FullName + "'");
         return;
     }
     if (MyController != null)
     {
         DelayedEventManager.RegisterEvent(EDelayType.ON_FRAME_END, EEventType.MOVE_ENTITY, new EventHandler(OnPartyMove));
         LegacyLogic.Instance.EventManager.RegisterEvent(EEventType.NPC_HIRELING_UPDATED, new EventHandler(OnNPCHirelingUpdated));
         LegacyLogic.Instance.EventManager.RegisterEvent(EEventType.TOKEN_ADDED, new EventHandler(CheckVisibility));
         LegacyLogic.Instance.EventManager.RegisterEvent(EEventType.PARTY_BUFF_ADDED, new EventHandler(CheckVisibility));
         LegacyLogic.Instance.EventManager.RegisterEvent(EEventType.PARTY_BUFF_REMOVED, new EventHandler(CheckVisibility));
     }
 }