Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.01 KB | None | 0 0
  1. namespace NSNagasaki
  2. {
  3.     using System.Collections.Generic;
  4.     using InControl;
  5.     using NSEipix.Base;
  6.     using UnityEngine;
  7.  
  8.     public class InputManager : Singleton<InputManager>
  9.     {
  10.         private PlayerControls controls;
  11.         private PlayerMenuControls menuControls;
  12.         private Dictionary<InputType, PlayerAction> inputControls;
  13.         private Dictionary<InputType, PlayerTwoAxisAction> twoAxisInputControls;
  14.         private Dictionary<InputType, PlayerAction> inputControlsUi;
  15.  
  16.         private InputManager()
  17.         {
  18.             this.controls = new PlayerControls();
  19.  
  20.             this.inputControls = new Dictionary<InputType, PlayerAction>();
  21.             this.twoAxisInputControls = new Dictionary<InputType, PlayerTwoAxisAction>();
  22.             this.inputControls.Add(InputType.Left, this.controls.MoveLeft);
  23.             this.inputControls.Add(InputType.Right, this.controls.MoveRight);
  24.             this.inputControls.Add(InputType.Up, this.controls.MoveUp);
  25.             this.inputControls.Add(InputType.Down, this.controls.MoveDown);
  26.             this.inputControls.Add(InputType.Jump, this.controls.Jump);
  27.             this.inputControls.Add(InputType.Crouch, this.controls.Crouch);
  28.             this.inputControls.Add(InputType.ZoomIn, this.controls.ZoomIn);
  29.             this.inputControls.Add(InputType.ZoomOut, this.controls.ZoomOut);
  30.             this.inputControls.Add(InputType.Run, this.controls.Run);
  31.             this.inputControls.Add(InputType.MouseXPositive, this.controls.MouseMovementXpositive);
  32.             this.inputControls.Add(InputType.MouseYPositive, this.controls.MouseMovementYpositive);
  33.             this.inputControls.Add(InputType.MouseXNegative, this.controls.MouseMovementXnegative);
  34.             this.inputControls.Add(InputType.MouseYNegative, this.controls.MouseMovementYnegative);
  35.             this.twoAxisInputControls.Add(InputType.MouseMove, this.controls.MouseMovement);
  36.  
  37.             this.menuControls = new PlayerMenuControls();
  38.  
  39.             this.inputControlsUi = new Dictionary<InputType, PlayerAction>();
  40.             this.inputControlsUi.Add(InputType.Menu, this.menuControls.MenuOpen);
  41.  
  42.             GameManager.Instance.TickFixedUpdate += this.GetInput;
  43.         }
  44.  
  45.         public bool WasButtonPressed(InputType inputType)
  46.         {
  47.             return this.inputControls[inputType].WasPressed;
  48.         }
  49.  
  50.         public bool WasButtonReleased(InputType inputType)
  51.         {
  52.             return this.inputControls[inputType].WasReleased;
  53.         }
  54.  
  55.         public bool IsButtonPressed(InputType inputType)
  56.         {
  57.             return this.inputControls[inputType].IsPressed;
  58.         }
  59.  
  60.         public Vector2 IsControllMovedTwoAxis(InputType inputType)
  61.         {
  62.             return this.twoAxisInputControls[inputType].Value;
  63.         }
  64.  
  65.         public bool WasUiButtonPressed(InputType inputType)
  66.         {
  67.             return this.inputControlsUi[inputType].WasPressed;
  68.         }
  69.  
  70.         public void GetInput(float deltaTime)
  71.         {
  72.         }
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement