Beispiel #1
0
    private void Awake()
    {
        mGearManager = new MacGearManager(FindObjectOfType <VehicleCore>());

        this.UpdateAsObservable()
        .Subscribe(_ =>
        {
            //アクセル
            float accel = Input.GetAxis(ConstString.Input.VERTICAL);
            accel       = Mathf.Clamp01(accel);
            mAccel.SetValueAndForceNotify(accel);

            //ハンドル
            mHundle.SetValueAndForceNotify(Input.GetAxis(ConstString.Input.HORIZONTAL));

            //ブレーキ
            float brake = Input.GetAxis(ConstString.Input.VERTICAL);
            //下矢印キーでブレーキ。ハンコンでは01で取得するため符号反転してる
            brake = -Mathf.Clamp(brake, -1.0f, 0.0f);
            mBrake.SetValueAndForceNotify(brake);

            //ギア
            mCurrentGear.Value = mGearManager.GetGear();
        });
    }
Beispiel #2
0
    private void Awake()
    {
        mGearManager      = new GearManager(FindObjectOfType <VehicleCore>());
        mGameStateManager = FindObjectOfType <GameStateManager>();
        mGameSceneManager = FindObjectOfType <GameSceneManager>();
        this.UpdateAsObservable()
        .Subscribe(_ =>
        {
            //ギア
            mCurrentGear.Value = mGearManager.GetGear();
            if (mGameSceneManager.SceneState != SceneState.GAME)
            {
                return;
            }
            if (mGameStateManager.CurrentGameState.Value == InGameState.READY)
            {
                return;
            }
            float accel = Input.GetAxisRaw(ConstString.Input.ACCEL);
            accel       = Mathf.Clamp01(accel);
            mAccel.SetValueAndForceNotify(accel);

            //ハンドル
            mHundle.SetValueAndForceNotify(Input.GetAxisRaw(ConstString.Input.HORIZONTAL));

            //ブレーキ
            float brake = Input.GetAxisRaw(ConstString.Input.BRAKE);
            //下矢印キーでブレーキ。ハンコンでは01で取得するため符号反転してる
            brake = -Mathf.Clamp(brake, -1.0f, 0.0f);
            mBrake.SetValueAndForceNotify(brake);
        }).AddTo(gameObject);
    }