示例#1
0
 /// <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);
 }
示例#2
0
        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);
        }
示例#3
0
 internal Key(IKeyInputProvider provider)
 {
     this.provider = provider;
     Is            = new IsSub(GetState, GetOldState);
     Was           = new WasSub(GetOldState);
 }