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();
    }