Advertisement
noradninja

Singleton input manager

Jul 12th, 2022
1,307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.25 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class VitaInputManager : MonoBehaviour {
  6.  
  7.     #region SingletonSetup
  8.    
  9.         private static VitaInputManager instance;
  10.  
  11.         public static VitaInputManager Instance
  12.         {
  13.             get
  14.             {
  15.                 if (!instance)
  16.                 {
  17.                     instance = GameObject.FindObjectOfType(typeof(VitaInputManager)) as VitaInputManager;
  18.                     if (!instance)
  19.                     {
  20.                         VitaDebug.Log("No active VitaInputManager script on any GameObject");
  21.                     }
  22.                 }
  23.  
  24.                 return instance;
  25.             }
  26.         }
  27.    
  28.     #endregion
  29.  
  30.     #region Delegates
  31.  
  32.         public delegate void FaceButtonEvent();
  33.  
  34.         public delegate void DpadButtonEvent();
  35.  
  36.         public delegate void TriggerButtonEvent();
  37.  
  38.         public delegate void StartSelectEvent();
  39.  
  40.         public delegate void LeftStickEvent(float horizontal, float vertical);
  41.  
  42.         public delegate void RightStickEvent(float horizontal, float vertical);
  43.    
  44.     #endregion
  45.    
  46.     //events
  47.  
  48.     #region FaceButtonEvents
  49.    
  50.         //cross events
  51.         public event FaceButtonEvent OnCross;
  52.         public event FaceButtonEvent OnCrossDown;
  53.         public event FaceButtonEvent OnCrossUp;
  54.         //square events
  55.         public event FaceButtonEvent OnSquare;
  56.         public event FaceButtonEvent OnSquareDown;
  57.         public event FaceButtonEvent OnSquareUp;
  58.         //triangle events
  59.         public event FaceButtonEvent OnTriangle;
  60.         public event FaceButtonEvent OnTriangleDown;
  61.         public event FaceButtonEvent OnTriangleUp;
  62.         //circle events
  63.         public event FaceButtonEvent OnCircle;
  64.         public event FaceButtonEvent OnCircleDown;
  65.         public event FaceButtonEvent OnCircleUp;
  66.    
  67.     #endregion
  68.  
  69.     #region DPadEvents
  70.  
  71.         public event DpadButtonEvent OnDpadUp;
  72.         public event DpadButtonEvent OnDpadDown;
  73.         public event DpadButtonEvent OnDpadLeft;
  74.         public event DpadButtonEvent OnDpadRight;
  75.  
  76.     #endregion
  77.  
  78.     #region TriggerEvents
  79.  
  80.         //L Trigger events
  81.         public event TriggerButtonEvent OnLTrig;
  82.         public event TriggerButtonEvent OnLTrigDown;
  83.         public event TriggerButtonEvent OnLTrigUp;
  84.         //R Trigger events
  85.         public event TriggerButtonEvent OnRTrig;
  86.         public event TriggerButtonEvent OnRTrigDown;
  87.         public event TriggerButtonEvent OnRTrigUp;
  88.    
  89.     #endregion
  90.  
  91.     #region StartSelectEvents
  92.  
  93.         public event StartSelectEvent OnStart;
  94.         public event StartSelectEvent OnSelect;
  95.  
  96.     #endregion
  97.  
  98.     #region JoystickEvents
  99.  
  100.         public event LeftStickEvent OnLeftStick;
  101.         public event RightStickEvent OnRightStick;
  102.  
  103.     #endregion
  104.    
  105.    
  106.     // Update is called once per frame
  107.     void Update () {
  108.        
  109.         #region Cross
  110.        
  111.             if (Input.GetButton("Cross"))
  112.             {
  113.                 if (OnCross != null)
  114.                 {
  115.                     OnCross();
  116.                 }
  117.             }
  118.             if (Input.GetButtonDown("Cross"))
  119.             {
  120.                 if (OnCrossDown != null)
  121.                 {
  122.                     OnCrossDown();
  123.                 }
  124.             }
  125.             if (Input.GetButtonUp("Cross"))
  126.             {
  127.                 if (OnCrossUp != null)
  128.                 {
  129.                     OnCrossUp();
  130.                 }
  131.             }
  132.            
  133.         #endregion
  134.        
  135.         #region Square
  136.            
  137.             if (Input.GetButton("Square"))
  138.             {
  139.                 if (OnSquare != null)
  140.                 {
  141.                     OnSquare();
  142.                 }
  143.             }
  144.             if (Input.GetButtonDown("Square"))
  145.             {
  146.                 if (OnSquareDown != null)
  147.                 {
  148.                     OnSquareDown();
  149.                 }
  150.             }
  151.             if (Input.GetButtonUp("Square"))
  152.             {
  153.                 if (OnCrossUp != null)
  154.                 {
  155.                     OnCrossUp();
  156.                 }
  157.             }
  158.            
  159.         #endregion
  160.        
  161.         #region Triangle
  162.            
  163.             if (Input.GetButton("Triangle"))
  164.             {
  165.                 if (OnTriangle != null)
  166.                 {
  167.                     OnTriangle();
  168.                 }
  169.             }
  170.             if (Input.GetButtonDown("Triangle"))
  171.             {
  172.                 if (OnTriangleDown != null)
  173.                 {
  174.                     OnTriangleDown();
  175.                 }
  176.             }
  177.             if (Input.GetButtonUp("Triangle"))
  178.             {
  179.                 if (OnTriangleUp != null)
  180.                 {
  181.                     OnTriangleUp();
  182.                 }
  183.             }
  184.            
  185.         #endregion
  186.        
  187.         #region Circle
  188.            
  189.             if (Input.GetButton("Circle"))
  190.             {
  191.                 if (OnCircle != null)
  192.                 {
  193.                     OnCircle();
  194.                 }
  195.             }
  196.             if (Input.GetButtonDown("Circle"))
  197.             {
  198.                 if (OnCircleDown != null)
  199.                 {
  200.                     OnCircleDown();
  201.                 }
  202.             }
  203.             if (Input.GetButtonUp("Circle"))
  204.             {
  205.                 if (OnCircleUp != null)
  206.                 {
  207.                     OnCircleUp();
  208.                 }
  209.             }
  210.            
  211.         #endregion
  212.  
  213.         #region Triggers
  214.  
  215.             //L Trigger
  216.             if (Input.GetButton("LTRIG"))
  217.             {
  218.                 if (OnLTrig != null)
  219.                 {
  220.                     OnLTrig();
  221.                 }
  222.             }
  223.             if (Input.GetButtonDown("LTRIG"))
  224.             {
  225.                 if (OnLTrigDown != null)
  226.                 {
  227.                     OnLTrigDown();
  228.                 }
  229.             }
  230.             if (Input.GetButtonUp("LTRIG"))
  231.             {
  232.                 if (OnLTrigUp != null)
  233.                 {
  234.                     OnLTrigUp();
  235.                 }
  236.             }
  237.             //R Trigger
  238.             if (Input.GetButton("RTRIG"))
  239.             {
  240.                 if (OnRTrig != null)
  241.                 {
  242.                     OnRTrig();
  243.                 }
  244.             }
  245.             if (Input.GetButtonDown("RTRIG"))
  246.             {
  247.                 if (OnRTrigDown != null)
  248.                 {
  249.                     OnRTrigDown();
  250.                 }
  251.             }
  252.             if (Input.GetButtonUp("RTRIG"))
  253.             {
  254.                 if (OnRTrigUp != null)
  255.                 {
  256.                     OnRTrigUp();
  257.                 }
  258.             }
  259.  
  260.         #endregion
  261.  
  262.         #region StartSelect
  263.  
  264.             if (Input.GetButton("Start"))
  265.             {
  266.                 if (OnStart != null)
  267.                 {
  268.                     OnStart();
  269.                 }
  270.             }
  271.             if (Input.GetButton("Select"))
  272.             {
  273.                 if (OnSelect != null)
  274.                 {
  275.                     OnSelect();
  276.                 }  
  277.             }
  278.  
  279.         #endregion
  280.  
  281.         #region Joysticks
  282.  
  283.             if (OnLeftStick != null)
  284.             {
  285.                 OnLeftStick(Input.GetAxis("Left Stick Horizontal"),
  286.                                 Input.GetAxis("Left Stick Vertical"));
  287.             }
  288.             if (OnRightStick != null)
  289.             {
  290.                 OnRightStick(Input.GetAxis("Right Stick Horizontal"),
  291.                                 Input.GetAxis("Right Stick Vertical"));
  292.             }
  293.  
  294.         #endregion
  295.        
  296.     }
  297.  
  298. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement