private void Start()
 {
     m_Container  = transform.Find("ContainerKeys");
     m_KeyGrabber = GameObject.Find("Player").GetComponent <KeyGrabber>();
     m_KeyTemplate.gameObject.SetActive(false);
     m_KeyGrabber.OnKeysChangedEvent += OnKeysChanged;
 }
    void Start()
    {
        string platform   = "";
        string joyNum     = "_Key";
        string controller = "";

        string[] joys           = Input.GetJoystickNames();
        int      numControllers = joys.Length;

        if (numControllers > 0)
        {
            if (joys[0].IndexOf("Joy-Con") >= 0)
            {
                controller = "_Joycon";
            }
            platform = "Mac";
            if (Application.platform == RuntimePlatform.WindowsEditor ||
                Application.platform == RuntimePlatform.WindowsPlayer)
            {
                platform = "Win";
            }
            if (numControllers > 1 && !isPlayer1)
            {
                joyNum = "_J2";
            }
            else
            {
                joyNum = "_J1";
            }
        }


        if (numControllers > 1)
        {
            buttons.xAxis         = "LeftHorizontalJoystick" + platform + joyNum + controller;
            buttons.yAxis         = "LeftVerticalJoystick" + platform + joyNum + controller;
            buttons.xAxisCam      = "RightHorizontalJoystick" + platform + joyNum + controller;
            buttons.yAxisCam      = "RightVerticalJoystick" + platform + joyNum + controller;
            buttons.pause         = "StartButton" + platform + joyNum + controller;
            buttons.actionAxis03  = "AY" + platform + joyNum + controller;
            buttons.actionAxis12  = "XB" + platform + joyNum + controller;
            buttons.switchControl = "RightTrigger" + platform + joyNum + controller;
            buttons.holdKey       = "RB" + platform + joyNum + controller;
            buttons.booster       = "LS" + platform + joyNum + controller;
        }
        else
        {
            if (isPlayer1)
            {
                buttons.xAxis         = "LeftHorizontalJoystick" + platform + joyNum;
                buttons.yAxis         = "LeftVerticalJoystick" + platform + joyNum;
                buttons.xAxisCam      = buttons.xAxis;
                buttons.yAxisCam      = buttons.yAxis;
                buttons.pause         = "SelectButton" + platform + joyNum;
                buttons.actionAxis03  = "DPadVertical" + platform + joyNum;
                buttons.actionAxis12  = "DPadHorizontal" + platform + joyNum;
                buttons.switchControl = "LeftTrigger" + platform + joyNum;
                buttons.holdKey       = "LB" + platform + joyNum;
                buttons.booster       = "LS" + platform + joyNum;
            }
            else
            {
                buttons.xAxis         = "RightHorizontalJoystick" + platform + joyNum;
                buttons.yAxis         = "RightVerticalJoystick" + platform + joyNum;
                buttons.xAxisCam      = buttons.xAxis;
                buttons.yAxisCam      = buttons.yAxis;
                buttons.pause         = "StartButton" + platform + joyNum;
                buttons.actionAxis03  = "AY" + platform + joyNum;
                buttons.actionAxis12  = "XB" + platform + joyNum;
                buttons.switchControl = "RightTrigger" + platform + joyNum;
                buttons.holdKey       = "RB" + platform + joyNum;
                buttons.booster       = "RS" + platform + joyNum;
            }
        }

        isMovingPlayer = isPlayer1;         //Default to start with Player 1 in control

        character             = gameObject.GetComponent <Character>();
        keyGrabber            = GetComponent <KeyGrabber>();
        keyGrabber.isGrabbing = false;
        if (!isPlayer1)
        {
            action0 = character.jump;
            action1 = character.breakObject;
        }
        else
        {
            action0 = character.run;
            action1 = character.moveObject;
        }
    }