//* -----------------------------------------------------------------------*
        /// <summary>1フレーム分の更新処理を実行します。</summary>
        ///
        /// <param name="entity">この状態を適用されているオブジェクト。</param>
        /// <param name="privateMembers">
        /// オブジェクトと状態クラスのみがアクセス可能なフィールド。
        /// </param>
        /// <param name="gameTime">前フレームが開始してからの経過時間。</param>
        public override void update(
            CAI <CInputDetector> entity, CInputCollection.CPrivateMembers privateMembers, GameTime gameTime
            )
        {
            CInputCollection collection = entity.owner;

            if (collection.Count == 0)
            {
                CInputLegacy input = instanceList.FirstOrDefault(
                    item => item.isPushAnyKey(detectPOV, detectSlider));
                if (input != null)
                {
                    collection.Add(input);
                }
            }
            if (collection.Count != 0)
            {
                setCapacity(collection);
                entity.nextState = CStateWait.instance;
            }
            base.update(entity, privateMembers, gameTime);
        }
        //* ────________________________________*
        //* methods ───────────────────────────────-*

        //* -----------------------------------------------------------------------*
        /// <summary>方向ボタンの状態を更新します。</summary>
        /// <remarks>この状態では方向ボタンを持たないので、何も処理しません。</remarks>
        ///
        /// <param name="state">最新の入力情報。</param>
        /// <param name="entity">この状態を適用されているオブジェクト。</param>
        /// <param name="privateMembers">
        /// オブジェクトと状態クラスのみがアクセス可能なフィールド。
        /// </param>
        /// <param name="gameTime">前フレームが開始してからの経過時間。</param>
        protected override void refleshAxis(
            JoystickState state, CInputLegacy entity,
            CInputLegacy.CPrivateMembers privateMembers, GameTime gameTime)
        {
            privateMembers.axisVector = state.getVector2Slider();
        }
Exemple #3
0
        //* ────________________________________*
        //* methods ───────────────────────────────-*

        //* -----------------------------------------------------------------------*
        /// <summary>方向ボタンの状態を更新します。</summary>
        /// <remarks>この状態では方向ボタンを持たないので、何も処理しません。</remarks>
        ///
        /// <param name="state">最新の入力情報。</param>
        /// <param name="entity">この状態を適用されているオブジェクト。</param>
        /// <param name="privateMembers">
        /// オブジェクトと状態クラスのみがアクセス可能なフィールド。
        /// </param>
        /// <param name="gameTime">前フレームが開始してからの経過時間。</param>
        protected override void refleshAxis(
            JoystickState state, CInputLegacy entity,
            CInputLegacy.CPrivateMembers privateMembers, GameTime gameTime)
        {
        }