예제 #1
0
        //* ────________________________________*
        //* 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);
        }
예제 #2
0
        //* -----------------------------------------------------------------------*
        /// <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);
        }
예제 #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);
        }
예제 #4
0
            //* ────────────-_______________________*
            //* constructor & destructor ───────────────────────*

            //* -----------------------------------------------------------------------*
            /// <summary>コンストラクタ。</summary>
            ///
            /// <param name="input">XBOX360ゲーム コントローラ入力制御・管理クラス。</param>
            public CPrivateMembers(CInputXBOX360 input)
            {
                aiForceFeedback = new CEntity(input);
                this.input      = input;
                buttonStateList = input._buttonStateList;
            }