示例#1
0
    virtual public bool anyPressedSkip()
    {
        if (connectedCount < 1)
        {
            return(false);
        }

        for (int i = 0; i < controllers.Length; i++)
        {
            Controller360 c = controllers[i];
            if (c == null)
            {
                continue;
            }
            //ConsoleSurround.add("checking "+c.name);
            if (c.isReleased(Controller360.ControllerButtons.START))
            {
                return(true);
            }
            if (c.isReleased(Controller360.ControllerButtons.A))
            {
                return(true);
            }
        }
        return(false);
    }
示例#2
0
    // create new controller
    virtual public Controller360 create(int id)
    {
        Controller360 control = null;

        if (GameObject.Find("controller-" + id) == null)
        {
            GameObject obj = new GameObject("controller-" + id);
            control = obj.AddComponent <Controller360>();
        }
        //Debug.Log("Created controller "+id);
        return(control);
    }
示例#3
0
    /*
     *    virtual public int countConnected(){
     *            int count = 0;
     *            for(int i = 0; i < controllers.Length; i++){
     *                    Controller360 c = controllers[i];
     *                    if(c == null)	continue;
     *                    if(c.isConnected())	count++;
     *            }
     *            return count;
     *    }
     */

    virtual public int countRefInArray()
    {
        int count = 0;

        //Debug.Log("checking ref in array, controllers array length is : "+controllers.Length);
        for (int i = 0; i < controllers.Length; i++)
        {
            Controller360 c = controllers[i];
            if (c == null)
            {
                //Debug.Log(i+" is null");
                continue;
            }
            count++;
        }
        return(count);
    }
示例#4
0
    virtual public void updateControllers()
    {
        //POUR MAC
        //le nombre de joystick sous Unity != du nombre de joystick concidéré comme "connected" dans le framework
        //parce que le framework part du principe qu'un joystick doit avoir reçu une commande de l'user pour etre "connected"

        //update number
        connectedCount = Input.GetJoystickNames().Length;

        Controller360 c = null;

        for (int i = 0; i < MAX_CONTROLLER; i++)
        {
            GameObject obj = GameObject.Find("controller-" + i);
            tempControllers[i] = null;

            if (i < connectedCount)
            {
                if (obj == null)
                {
                    c = create(i);
                    event__controllerPlugged(i);
                    Debug.Log("<ControllerManager> adding missing controller bridge for index " + i);
                }
                else
                {
                    c = obj.GetComponent <Controller360>();
                }

                tempControllers[i] = c;
            }
            else
            {
                if (obj != null)
                {
                    GameObject.DestroyImmediate(controllers[i].gameObject);
                    event__controllerUnplugged(i);
                }
            }
        }

        //Debug.Log("controller update, list is "+list.Count+" long");
        updateControllerArray();
    }
示例#5
0
    /* au changement de scène les controller-X dégagent et sont recréé */
    override public void updateControllers()
    {
        Controller360 c   = null;
        GameObject    obj = null;

        for (int i = 0; i < MAX_CONTROLLER; i++)
        {
            tempControllers[i] = null;
            GamePadState gamepadState;

            try
            {
                gamepadState = GamePad.GetState((PlayerIndex)i);

                if (gamepadState.IsConnected)
                {
                    //Debug.Log("xinput pad "+i+" is connected");
                    obj = GameObject.Find("controller-" + i);
                    if (obj == null)
                    {
                        //Debug.Log("<XinputManager> pad of index "+i+" is connected but has no bridge, creating one");
                        c = createXinput(i);

                        //event__controllerPlugged(i);
                    }
                    else
                    {
                        c = obj.GetComponent <Controller360>();
                    }

                    tempControllers[i] = c;
                }
            }
            catch
            {
                Debug.LogError("CATCH :: xinput :: cant get state for index " + i);
            }
        }

        //Debug.Log("controller update, list is "+list.Count+" long");
        updateControllerArray();
    }