public static float GetAxis(string inputName, OuyaSDK.OuyaPlayer player)
    {
        switch (Moga)
        {
        case true:
            switch (inputName)
            {
            case "TurnRight":
                return(MogaInput.GetAxis("R2"));               //MogaController.KEYCODE_BUTTON_R2;//R2

            case "TurnLeft":
                return(MogaInput.GetAxis("L2"));               //MogaController.KEYCODE_BUTTON_L2;//L2

            case "Roll":
                return(MogaInput.GetAxis("Horizontal"));               //MogaController.AXIS_X;//X

            case "Vertical":
                return(MogaInput.GetAxis("Vertical"));               //MogaController.AXIS_Y;//Y

            case "Pitch":
                return(MogaInput.GetAxis("LookVertical"));               //MogaController.AXIS_RZ;//RZ

            case "Yaw":
                return(MogaInput.GetAxis("LookHorizontal"));               //MogaController.AXIS_Z;//Z

            default:
                return(0);
            }

        case false:

            switch (inputName)
            {
            case "TurnRight":
                return(OuyaExampleCommon.GetAxis("RT", player));

            case "TurnLeft":
                return(OuyaExampleCommon.GetAxis("LT", player));

            case "Roll":
                return(OuyaExampleCommon.GetAxis("LX", player));

            case "Vertical":
                return(OuyaExampleCommon.GetAxis("LY", player));

            case "Pitch":
                return(OuyaExampleCommon.GetAxis("RY", player));

            case "Yaw":
                return(OuyaExampleCommon.GetAxis("RX", player));

            default:
                return(0);
            }
        }
        return(0);
    }
    void Awake()
    {
        Screen.sleepTimeout = SleepTimeout.NeverSleep;


        /*
         * MOGA MAPPING - EXAMPLE 1
         * Input.RegisterInputButton("Fire1", MogaController.KEYCODE_BUTTON_A);
         *
         * MOGA MAPPING - EXAMPLE 2
         * Input.RegisterInputButton("joystick button 0", Controller.KEYCODE_BUTTON_A);
         */

        // MOGA MAPPING - EXAMPLE 3
                #if UNITY_ANDROID
        MogaInput.RegisterInputKey(KeyCode.JoystickButton0, MogaController.KEYCODE_BUTTON_A);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton1, MogaController.KEYCODE_BUTTON_B);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton2, MogaController.KEYCODE_BUTTON_X);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton3, MogaController.KEYCODE_BUTTON_Y);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton4, MogaController.KEYCODE_BUTTON_L1);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton5, MogaController.KEYCODE_BUTTON_R1);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton6, MogaController.KEYCODE_BUTTON_SELECT);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton7, MogaController.KEYCODE_BUTTON_START);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton8, MogaController.KEYCODE_BUTTON_THUMBL);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton9, MogaController.KEYCODE_BUTTON_THUMBR);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton10, MogaController.KEYCODE_BUTTON_L2);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton11, MogaController.KEYCODE_BUTTON_R2);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton12, MogaController.KEYCODE_DPAD_UP);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton13, MogaController.KEYCODE_DPAD_DOWN);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton14, MogaController.KEYCODE_DPAD_LEFT);
        MogaInput.RegisterInputKey(KeyCode.JoystickButton15, MogaController.KEYCODE_DPAD_RIGHT);

        MogaInput.RegisterInputAxis("Horizontal", MogaController.AXIS_X);               // Left Nub Horizontal
        MogaInput.RegisterInputAxis("Vertical", MogaController.AXIS_Y);                 // Left Nub Vertical
        MogaInput.RegisterInputAxis("LookHorizontal", MogaController.AXIS_Z);           // Right Nub Horizontal
        MogaInput.RegisterInputAxis("LookVertical", MogaController.AXIS_RZ);            // Right Nub Vertical
        MogaInput.RegisterInputAxis("L2", MogaController.AXIS_LTRIGGER);                // L2 Trigger Axis
        MogaInput.RegisterInputAxis("R2", MogaController.AXIS_RTRIGGER);                // R2 Trigger Axis
                #endif
    }
    void FixedUpdate()
    {
        if (Active)
        {
            if (MasterAlpha < 0.999f && triggeredForward)
            {
                triggeredBack = false;
                MasterAlpha  += 0.01f;
                if (MasterVolume < 1)
                {
                    MasterVolume += 0.05f;
                    audio.volume  = MasterVolume;
                }
            }
            else if (doNotFadeLastImage && currentPage + 1 == SplashPages.Length)
            {
                Active       = false;
                isSplashPage = false;
                LoadScene();
            }
            else if (MasterAlpha > 0.001f && triggeredBack)
            {
                triggeredForward = false;
                MasterAlpha     -= 0.01f;
            }
            else if (triggeredForward && MasterAlpha > 0.999f)
            {
                triggeredForward = false;
                triggeredBack    = true;
            }
            else if (triggeredBack && MasterAlpha < 0.001f)
            {
                StartCoroutine(PauseTime());
            }

            if (currentPage < SplashPages.Length)
            {
                Color color = SplashPages[currentPage].color;
                color.a = MasterAlpha;
                SplashPages[currentPage].color = color;
            }
            else
            {
                Active       = false;
                isSplashPage = false;
                StartCoroutine(LoadScene());
            }
        }

        DetectControllers();

        if (MogaInput.GetControllerState() == MogaController.ACTION_CONNECTED)
        {
            if ((MogaInput.GetControllerSupportedVersion() == MogaController.ACTION_VERSION_MOGAPRO) && (!InputManager.Moga))
            {
                InputManager.Moga = true;
                MogaPro           = true;
                //ControllerCount = 1;
                //Controllers = ["MogaPro Controller"];
            }
            else if ((MogaInput.GetControllerSupportedVersion() == MogaController.ACTION_VERSION_MOGA) && (!InputManager.Moga))
            {
                InputManager.Moga = true;
                MogaPro           = false;
                //ControllerCount = 1;
                //Controllers = ["Moga Controller"];
            }
        }
        else
        {
            InputManager.Moga = false;
//			if(Controllers[0] == "MogaPro Controller" || Controllers[0] == "Moga Controller")
//			{
//			//Controllers = null;
//			//ControllerCount =0;
//			}
        }

        OuyaExampleCommon.UpdateJoysticks();

        //Debug.Log(SystemInfo.deviceModel);


        if (SwappingSound)
        {
            if (audio.clip != audioToSwapTo && MusicVolumeFloat > 0)
            {
                MusicVolumeFloat -= 0.05f;
                audio.volume      = MusicVolumeFloat;
                //Debug.Log("music volume " + MusicVolumeFloat);
            }
            else if (MusicVolumeFloat <= 0 && audio.clip != audioToSwapTo)
            {
                audio.clip = audioToSwapTo;
                if (!audio.isPlaying)
                {
                    audio.Play();
                }
                //	Debug.Log("swapped audio clip");
            }
            else if (MusicVolumeFloat < 1 && audio.clip == audioToSwapTo)
            {
                MusicVolumeFloat += 0.05f;
                audio.volume      = MusicVolumeFloat;
                if (!audio.isPlaying)
                {
                    audio.Play();
                }
                //Debug.Log("swapping " + MusicVolumeFloat);
            }
            else if (MusicVolumeFloat >= 1 && audio.clip == audioToSwapTo && audio.isPlaying)
            {
                SwappingSound = false;
                //	Debug.Log("swapping OFF");
            }
        }


        if (CountDownTimer <= TimeTrial && WW3DIsUnlocked && !gameIsUnlocked)
        {
            CountDownTimer += Time.deltaTime;
            TimeRemaining   = TimeTrial - CountDownTimer;
            interval       += Time.deltaTime;

            //	Debug.Log("time remianing "+TimeRemaining + " " + TimeTrial + " - " + CountDownTimer);

            if (interval > 10)
            {
                PlayerPrefs.SetFloat("CountDownTime", CountDownTimer);
                PlayerPrefs.Save();
                interval = 0;
            }
        }
        else if (WW3DIsUnlocked && !gameIsUnlocked)
        {
            WW3DIsUnlocked = false;
            PlayerPrefs.SetFloat("CountDownTime", CountDownTimer);
            PlayerPrefs.Save();
        }
    }
    public static bool GetButton(string inputName, OuyaSDK.OuyaPlayer player)
    {
        switch (Moga)
        {
        case true:

            switch (inputName)
            {
            case "Shoot":
                return(MogaInput.GetKey(KeyCode.JoystickButton0));                               //a

            case "Orbit":
                return(MogaInput.GetKey(KeyCode.JoystickButton2));                       //x

            case "Option":
                return(MogaInput.GetKey(KeyCode.JoystickButton3));                          //y

            case "Exit":
                return(MogaInput.GetKey(KeyCode.JoystickButton1));                              //b

            case "TurnLeft":
                return(MogaInput.GetKeyDown(KeyCode.JoystickButton10));

            case "TurnRight":
                return(MogaInput.GetKeyDown(KeyCode.JoystickButton11));

            case "SkipLeft":
                return(MogaInput.GetKeyDown(KeyCode.JoystickButton4));

            case "SkipRight":
                return(MogaInput.GetKeyDown(KeyCode.JoystickButton5));

            case "DLeft":
                return(MogaInput.GetKey(KeyCode.JoystickButton14));

            case "DRight":
                return(MogaInput.GetKey(KeyCode.JoystickButton15));

            case "DUp":
                return(MogaInput.GetKey(KeyCode.JoystickButton12));

            case "DDown":
                return(MogaInput.GetKey(KeyCode.JoystickButton13));

            case "StartBtn":
                return(MogaInput.GetKeyDown(KeyCode.JoystickButton7));

            default:
                return(false);
            }

        case false:

            switch (inputName)
            {
            case "Shoot":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_O, player));

            case "Orbit":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_U, player));

            case "Option":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_Y, player));

            case "Exit":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_A, player));

            case "TurnLeft":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_LT, player));

            case "TurnRight":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_RT, player));

            case "SkipLeft":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_LB, player));

            case "SkipRight":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_RB, player));

            case "DLeft":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, player));

            case "DRight":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, player));

            case "DUp":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_UP, player));

            case "DDown":
                return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, player));

            default:
                return(false);
            }
        }
        return(false);
    }