public PC_InputState GetDeepState()
    {
        PC_InputState inputCopy = new PC_InputState();

        inputCopy._A = _A;
        inputCopy._B = _B;
        inputCopy._X = _X;
        inputCopy._Y = _Y;
        //FaceButtons Down
        inputCopy._Adn = _Adn;
        inputCopy._Bdn = _Bdn;
        inputCopy._Xdn = _Xdn;
        inputCopy._Ydn = _Ydn;
        //D - pad
        inputCopy._D_PadHorizontal = _D_PadHorizontal;
        inputCopy._D_PadVertical   = _D_PadVertical;
        //Shoulder Buttons
        inputCopy._LeftBumper   = _LeftBumper;
        inputCopy._RightBumper  = _RightBumper;
        inputCopy._LeftTrigger  = _LeftTrigger;
        inputCopy._RightTrigger = _RightTrigger;
        //Shoulder Buttons down
        inputCopy._LeftBumperDn   = _LeftBumperDn;
        inputCopy._RightBumperDn  = _RightBumperDn;
        inputCopy._LeftTriggerDn  = _LeftTriggerDn;
        inputCopy._RightTriggerDn = _RightTriggerDn;

        //joysticks
        inputCopy._LeftJoystickHorizontal  = _LeftJoystickHorizontal;
        inputCopy._LeftJoystickVertical    = _LeftJoystickVertical;
        inputCopy._RightJoystickHorizontal = _RightJoystickHorizontal;
        inputCopy._RightJoystickVertical   = _RightJoystickVertical;
        //inputCopy._LeftJoystickClick= _LeftJoystickClick;
        // inputCopy._RightJoystickClick= _LeftJoystickClick;
        // Start Select Buttons
        inputCopy._Start = _Start;
        inputCopy._Back  = _Back;

        return(inputCopy);
    }
 void GetInput(int joyNum)
 {
     //FaceButtons
     CurrentInputState.Set_A(Input.GetButton("joy" + joyNum + "aButton"));
     CurrentInputState.Set_B(Input.GetButton("joy" + joyNum + "bButton"));
     CurrentInputState.Set_X(Input.GetButton("joy" + joyNum + "xButton"));
     CurrentInputState.Set_Y(Input.GetButton("joy" + joyNum + "yButton"));
     //facebuttons down
     CurrentInputState.Set_Adn(Input.GetButtonDown("joy" + joyNum + "aButton"));
     CurrentInputState.Set_Bdn(Input.GetButtonDown("joy" + joyNum + "bButton"));
     CurrentInputState.Set_Xdn(Input.GetButtonDown("joy" + joyNum + "xButton"));
     CurrentInputState.Set_Ydn(Input.GetButtonDown("joy" + joyNum + "yButton"));
     //D-Pad Input
     CurrentInputState.Set_D_PadVertical(Input.GetAxis("joy" + joyNum + "dVertical"));
     CurrentInputState.Set_D_PadHorizontal(Input.GetAxis("joy" + joyNum + "dHorizontal"));
     //Shoulder Buttons
     CurrentInputState.Set_LeftBumper(Input.GetButton("joy" + joyNum + "LeftBumper"));
     CurrentInputState.Set_RightBumper(Input.GetButton("joy" + joyNum + "RightBumper"));
     CurrentInputState.Set_LeftTrigger(Input.GetAxis("joy" + joyNum + "LeftTrigger"));
     CurrentInputState.Set_RightTrigger(Input.GetAxis("joy" + joyNum + "RightTrigger"));
     //Shoulder Buttons Down
     CurrentInputState.Set_LeftBumperDn(Input.GetButtonDown("joy" + joyNum + "LeftBumper"));
     CurrentInputState.Set_RightBumperDn(Input.GetButtonDown("joy" + joyNum + "RightBumper"));
     //Joystick
     CurrentInputState.Set_LeftJoystickHorizontal(Input.GetAxis("joy" + joyNum + "LeftHorizontal"));
     CurrentInputState.Set_LeftJoystickVertical(Input.GetAxis("joy" + joyNum + "LeftVertical"));
     CurrentInputState.Set_RightJoystickHorizontal(Input.GetAxis("joy" + joyNum + "RightHorizontal"));
     CurrentInputState.Set_RightJoystickVertical(Input.GetAxis("joy" + joyNum + "RightVertical"));
     // CurrentInputState.Set_LeftJoystickClick(Input.GetButton("joy" + joyNum + "LeftClick"));
     // CurrentInputState.Set_RightJoystickClick(Input.GetButton("joy" + joyNum + "RightClick"));
     //Start and back
     CurrentInputState.Set_Start(Input.GetButtonDown("joy" + joyNum + "Start"));
     CurrentInputState.Set_Back(Input.GetButtonDown("joy" + joyNum + "Back"));
     TestingText.text = GetDebugText();
     CachedInputState = CurrentInputState.GetState();
 }
 //public PC_StateManger myStateManager;
 void Start()
 {
     CurrentInputState = new PC_InputState();
     CachedInputState  = new PC_InputState();
 }