/// <summary>
 /// 有効化されている状態の無効化
 /// </summary>
 public void DisactivateState()
 {
     if (activeState == null)
     {
         return;
     }
     OnDisactivateState();
     activeState.Exit();
     activeState = null;
 }
        /// <summary>
        /// 指定した状態の有効化
        /// </summary>
        public void ActivateState(string name)
        {
            //アクティブでなければ有効化しない
            if (!activated)
            {
                return;
            }
            //現在の状態
            bool prevNull = (activeState == null);

            //現在有効化されている状態の無効化
            DisactivateState();

            //有効化する状態の取得
            activeState = GetState(name);
            if (activeState)
            {
                if (prevNull)
                {
                    OnActivateState();
                }
                activeState.Enter();
            }
        }