//* -----------------------------------------------------------------------* /// <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); }
//* ────________________________________* //* 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); }