//* ────________________________________* //* methods ───────────────────────────────-* //* -----------------------------------------------------------------------* /// <summary>クラス オブジェクトを取得します。</summary> /// /// <param name="playerIndex">XBOX360 プレイヤー番号。</param> /// <param name="playerNumber">設定したいプレイヤー番号。</param> /// <returns>プレイヤー番号に対応したクラス オブジェクト。</returns> /// <exception cref="System.ArgumentException"> /// 該当XBOX360プレイヤー番号のクラス オブジェクトが既に使用中である場合。 /// </exception> /// <exception cref="System.InvalidOperationException"> /// XBOX360プレイヤー番号に対応したクラス オブジェクトが見つからなかった場合。 /// </exception> public static CInputXBOX360 getInstance(PlayerIndex playerIndex, short playerNumber) { CInputXBOX360 instance = instanceList.First(input => input.playerIndex == playerIndex); if (instance.connect) { // クラス オブジェクトが既に使用中である場合 throw new ArgumentException("playerIndex"); } instance.playerNumber = playerNumber; return(instance); }
//* -----------------------------------------------------------------------* /// <summary> /// XBOX360ゲーム コントローラの自動認識・入力制御・管理クラスを生成します。 /// </summary> /// /// <returns> /// XBOX360ゲーム コントローラの自動認識・入力制御・管理クラス。 /// </returns> private CInputCollection createXBOX360Instance() { CInputCollection collection = CInputXBOX360.createDetector(playerNumber); collection.changedChildCount += (sender, count) => { if (count > 0) { CInputXBOX360 input = ((CInputCollection)sender).getInstance <CInputXBOX360>(); input.assignList = xbox360Assign; input.useForAxis = xbox360AxisAssign; } }; return(collection); }
//* ────________________________________* //* 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); }
//* ────────────-_______________________* //* constructor & destructor ───────────────────────* //* -----------------------------------------------------------------------* /// <summary>コンストラクタ。</summary> /// /// <param name="input">XBOX360ゲーム コントローラ入力制御・管理クラス。</param> public CPrivateMembers(CInputXBOX360 input) { aiForceFeedback = new CEntity(input); this.input = input; buttonStateList = input._buttonStateList; }