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); }
// 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); }
/* * 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); }
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(); }
/* 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(); }