Example #1
0
        public void OnMsg(EMsg msg, params object[] args)
        {
            switch (msg)
            {
#if USE_TRIGGER_FOR_SKILL
            case EMsg.View_Model_AttachJoint:
                GameObject injuredBuild = args[0] as GameObject;
                PETrigger.AttachTriggerEvent(injuredBuild, OnColliderEnter, null, null);
                break;

            case EMsg.View_Model_DeatchJoint:
                GameObject injuredDestroy = args[0] as GameObject;
                PETrigger.DetachTriggerEvent(injuredDestroy, OnColliderEnter, null, null);
                break;

            case EMsg.View_Model_Build:
                Profiler.BeginSample("View_Model_Build_SkAlive");
                GameObject modelBuild = args[0] as GameObject;
                PETrigger.AttachTriggerEvent(modelBuild, OnColliderEnter, null, null);
                Profiler.EndSample();
                break;

            case EMsg.View_Model_Destroy:
                GameObject modelDestroy = args[0] as GameObject;
                PETrigger.DetachTriggerEvent(modelDestroy, OnColliderEnter, null, null);
                break;
#endif
            case EMsg.State_Revive:
                DispatchReviveEvent();
                SetAutoBuffActive(true);
                isDead = false;
                break;
            }
        }
Example #2
0
        public virtual void OnDestroy()
        {
            if (bufferEffect != null)
            {
                ShiftEffect();
            }

            PETrigger.DetachTriggerEvent(gameObject, OnColliderEnter, null, null);

            s_Projectiles.Remove(this);
        }