public void Clear() { // 人物动画 AnimationManager.GetInstance().RemoveAnimation(_aniChar); _aniChar = null; _charAniSp.sprite = null; _charAniSp = null; _isCastingBomb = false; // B if (_bomb != null) { _bomb.Clear(); _bomb = null; } // 副武器 _subLayerTrans = null; for (int i = 0; i < _subWeapons.Length; i++) { _subWeapons[i].Clear(); } _subWeapons = null; // 销毁 GameObject.Destroy(_character); _character = null; // 判定点 GameObject.Destroy(_collisionPointTf.gameObject); _collisionPointTf = null; _rotatePointTf = null; // 状态机 _stateEnterFunc = null; _stateExitFunc = null; _stateUpdateFunc = null; }
protected void OnStateEnter() { switch (_curState) { case eCharacterState.Appear: _stateEnterFunc = OnStateAppearEnter; //Logger.Log("Player Enter State : Appear"); break; case eCharacterState.Normal: _stateEnterFunc = OnStateNormalEnter; //Logger.Log("Player Enter State : Nromal"); break; case eCharacterState.Dying: _stateEnterFunc = OnStateDyingEnter; //Logger.Log("Player Enter State : Dying"); break; case eCharacterState.WaitReborn: _stateEnterFunc = OnStateWaitRebornEnter; //Logger.Log("Player Enter State : WaitBorn"); break; } _stateEnterFunc(); }