//* -----------------------------------------------------------------------*
 /// <summary>管理している子入力クラスを全て解放します。</summary>
 ///
 /// <exception cref="System.NotSupportedException">
 /// 読み取り専用状態でこのメソッドを実行した場合。
 /// </exception>
 public override void Clear()
 {
     m_inputDevice         = EInputDevice.None;
     m_inputKeyboard       = null;
     m_inputMouse          = null;
     m_inputXbox360        = null;
     m_inputXbox360Chatpad = null;
     m_inputLegacy         = null;
     base.Clear();
 }
        //* -----------------------------------------------------------------------*
        /// <summary>XBOX360チャットパッド入力制御・管理クラスを生成します。</summary>
        ///
        /// <returns>XBOX360チャットパッド入力制御・管理クラス。</returns>
        /// <exception cref="System.InvalidOperationException">
        /// XBOX360ゲーム コントローラが認識されていない状態でこのメソッドを呼び出した場合。
        /// </exception>
        private CInputXBOX360ChatPad createXBOX360ChatPadInstance()
        {
            if (m_inputXbox360 == null || m_inputXbox360.Count == 0)
            {
                throw new InvalidOperationException(
                          "XBOX360チャットパッドを使用するためには、まずXBOX360ゲーム コントローラが認識されている必要があります。");
            }
            CInputXBOX360ChatPad input = CInputXBOX360ChatPad.getInstance(
                (CInputXBOX360)m_inputXbox360.childList[0], playerNumber);

            input.assignList = keyboardAssign;
            return(input);
        }
Exemple #3
0
        //* ────________________________________*
        //* methods ───────────────────────────────-*

        //* -----------------------------------------------------------------------*
        /// <summary>クラス オブジェクトを取得します。</summary>
        ///
        /// <param name="inputController">
        /// XBOX360ゲーム コントローラ入力制御・管理クラス。
        /// </param>
        /// <param name="playerNumber">設定したいプレイヤー番号。</param>
        /// <returns>プレイヤー番号に対応したクラス オブジェクト。</returns>
        /// <exception cref="System.ArgumentException">
        /// 該当XBOX360プレイヤー番号のゲーム コントローラが未接続である場合、または
        /// 該当XBOX360プレイヤー番号のクラス オブジェクトが既に使用中である場合。
        /// </exception>
        /// <exception cref="System.InvalidOperationException">
        /// XBOX360プレイヤー番号に対応したクラス オブジェクトが見つからなかった場合。
        /// </exception>
        public static CInputXBOX360ChatPad getInstance(
            CInputXBOX360 inputController, short playerNumber
            )
        {
            if (!inputController.connect)
            {                   // XBOX360ゲーム コントローラが未接続である場合
                throw new ArgumentException("inputController");
            }
            CInputXBOX360ChatPad instance =
                instanceList.First(input => input.playerIndex == inputController.playerIndex);

            if (instance.connect)
            {                   // クラス オブジェクトが既に使用中である場合
                throw new ArgumentException("inputController");
            }
            instance.playerNumber    = playerNumber;
            instance.inputController = inputController;
            return(instance);
        }