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); }
void Start() { commandInputField.gameObject.SetActive(false); commandInputField.onEndEdit.AsObservable().TakeUntilDestroy(this).Subscribe(OnEndEdit); IInputEventProvider inputEventProvider = GetComponent <IInputEventProvider>(); inputEventProvider.OnCommandButton.TakeUntilDestroy(this).Subscribe(OnCommandButton); }
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(); }
private void Injecting( AvaterProvider avaterProvider, IInputEventProvider inputEventProvider, IInputSetable inputSetable) { _avaterProvider = avaterProvider; _inputEventProvider = inputEventProvider; _inputSetable = inputSetable; Initialize(); }
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(); }
protected override void Start() { // デバッグ用 if (InputEventProvider == null) { InputEventProvider = new InputKeyBoard(); } this.UpdateAsObservable() .Where(_ => !IsFreeze.Value) .Subscribe(_ => { //武器チェンジの更新 WeaponChangeUpdate(); }) .AddTo(this); }
private void Initialize(IInputEventProvider inputEventProvider) { _inputEventProvider.OnNext(inputEventProvider); _inputEventProvider.OnCompleted(); }
virtual protected void Start() { InputEventProvider = transform.parent.GetComponentInChildren <IInputEventProvider>(); }
// 入力ソースの取得(要は依存性の解決) protected void GetInputEventProvider() { _manipulationProvider = GetComponent <IInputEventProvider>(); }
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); }