/// <summary> /// Constructor that lets you inject input-providers for testing purposes. /// </summary> public InputManager(IKeyInputProvider keyInputProvider, IMouseInputProvider mouseInputProvider, IPadInputProvider padInputProvider, ITouchInputProvider touchInputProvider) { Key = new Key(keyInputProvider); Mouse = new Mouse(mouseInputProvider); SetProviderForPads(padInputProvider); Touch = new Touch(touchInputProvider); }
void Awake() { _PlayerManager = _PlayerManagerObject.GetComponent <IPlayerManager>(); _KeyInputProvider = _KeyInputProviderObject.GetComponent <IKeyInputProvider>(); _PlayerManager.OnSpawnedLocalPlayerAsObservable() .Subscribe(player => { player.SetFollowCamera(_FollowCamera.gameObject); _LocalPlayer = player; _FollowCamera.SetFollowTarget(_LocalPlayer.Transform); }) .AddTo(this); _PlayerManager.OnDespawnedLocalPlayerAsObservable() .Subscribe(_ => { Debug.Log("DespawnedLocalPlayer"); _LocalPlayer = null; }) .AddTo(this); }
internal Key(IKeyInputProvider provider) { this.provider = provider; Is = new IsSub(GetState, GetOldState); Was = new WasSub(GetOldState); }