public void Configure(IInputEventProvider inputEventProvider, int playerEntryNumber = 0)
 {
     _inputEventProvider.OnNext(inputEventProvider);
     _inputEventProvider.OnCompleted();
     _playerEntryNumber.OnNext(playerEntryNumber);
     _playerEntryNumber.OnCompleted();
 }
        private void SubscribeInputEvents()
        {
            m_InputProvider = GetComponent <IInputEventProvider>();

            // 上下左右キーの入力イベントを受け取り、結果をm_Moveに保持する
            m_InputProvider.MoveDir
            .Subscribe(axis =>
            {
                if (m_Cam != null)
                {
                    // calculate camera relative direction to move:
                    m_CamForward = Vector3.Scale(m_Cam.forward, new Vector3(1, 0, 1)).normalized;
                    m_Move       = axis.z * m_CamForward + axis.x * m_Cam.right;
                }
                else
                {
                    // we use world-relative directions in the case of no main camera
                    m_Move = axis.z * Vector3.forward + axis.x * Vector3.right;
                }
            });

            // ジャンプキーの入力イベントを受け取り、結果をm_Jumpに保持する
            m_InputProvider.Jump
            .Subscribe(is_jump => m_Jump = is_jump);

            // しゃがみキーの入力イベントを受け取り、結果をm_Crouchに保持する
            m_InputProvider.Crouch
            .Subscribe(is_crouch => m_Crouch = is_crouch);

            m_InputProvider.Walk
            .Subscribe(is_walk => m_Walk = is_walk);
        }
Beispiel #3
0
        void Start()
        {
            commandInputField.gameObject.SetActive(false);
            commandInputField.onEndEdit.AsObservable().TakeUntilDestroy(this).Subscribe(OnEndEdit);
            IInputEventProvider inputEventProvider = GetComponent <IInputEventProvider>();

            inputEventProvider.OnCommandButton.TakeUntilDestroy(this).Subscribe(OnCommandButton);
        }
Beispiel #4
0
    public void Initialize(int playerId)
    {
        PlayerId = playerId;
        InitializeUiUseCase.Execute(PlayerId);

        InitializeBlocksQueueService.Execute(QueueSize);
        ControlBlocks      = GetNextControlBlocksService.Execute(PlayerId);
        InputEventProvider = GetInputEventProvider();
    }
        private void Start()
        {
            Core = GetComponent <PlayerCore>();
            _inputEventProvider = GetComponent <IInputEventProvider>();

            //Coreの情報が確定したら初期化を呼び出す
            Core.OnInitializeAsync
            .Subscribe(_ => OnInitialize());

            OnStart();
        }
Beispiel #6
0
        private void Injecting(
            AvaterProvider avaterProvider,
            IInputEventProvider inputEventProvider,
            IInputSetable inputSetable)
        {
            _avaterProvider     = avaterProvider;
            _inputEventProvider = inputEventProvider;
            _inputSetable       = inputSetable;

            Initialize();
        }
Beispiel #7
0
    protected void Start()
    {
        Core = GetComponent <Core>();

        //インプットインターフェースを格納
        _inputEventProvider = GetComponent <IInputEventProvider>();

        //Coreで定義したOnInitializeAsyncが完了したイベントが発生したらこっちのInitializeを走らせる
        Core.OnInitializeAsync
        .Subscribe(_ => OnInitialize());

        OnStart();
    }
    //初期化処理
    private void Start()
    {
        //コアにプレイヤーコアをいれるよ
        Core = GetComponent <PlayerCore>();

        //インプットイベントプロバイダーを取得
        _inputEventProvider = GetComponent <IInputEventProvider>();

        //Coreの情報が確定したら初期化を呼び出す
        Core.OnInitializeAsync
        .Subscribe(_ => OnInitialize());

        OnStart();
    }
Beispiel #9
0
        protected override void Start()
        {
            // デバッグ用
            if (InputEventProvider == null)
            {
                InputEventProvider = new InputKeyBoard();
            }

            this.UpdateAsObservable()
            .Where(_ => !IsFreeze.Value)
            .Subscribe(_ =>
            {
                //武器チェンジの更新
                WeaponChangeUpdate();
            })
            .AddTo(this);
        }
Beispiel #10
0
 private void Initialize(IInputEventProvider inputEventProvider)
 {
     _inputEventProvider.OnNext(inputEventProvider);
     _inputEventProvider.OnCompleted();
 }
Beispiel #11
0
 virtual protected void Start()
 {
     InputEventProvider = transform.parent.GetComponentInChildren <IInputEventProvider>();
 }
Beispiel #12
0
 // 入力ソースの取得(要は依存性の解決)
 protected void GetInputEventProvider()
 {
     _manipulationProvider = GetComponent <IInputEventProvider>();
 }
Beispiel #13
0
 virtual protected void Start()
 {
     InputEventProvider = GetComponent <IInputEventProvider>();
 }
 public void Initialize(IInputEventProvider inputEventProvider)
 {
     inputEventProvider.MoveDirection
     .Subscribe(input => _characterCore.Direction = (Vector2.up + Vector2.right * input).normalized)     // Automatic Movement + User Input
     .AddTo(this);
 }