private static void PlusPlayer() { //新しくコントローラーが追加された string[] connect_data = ControllerFetcher.GetConnectedData(); for (int i = 0; i < connect_data.Length; i++) { bool is_same = false; if (connect_data[i] == "") { //なんもつながっとらん continue; } for (int j = 0; j < player_data.Count; j++) { if (player_data[j].player_number == i) { //既に繋がっていたコントローラーだった is_same = true; break; } } if (is_same) { continue; } //新しい繋がりを確認しました CleateNewPlayer(i); return; } }
//コントローラーの繋がりを確認する public static void ConnectedUpdate() { ControllerFetcher.Initialize(); //コントローラー数が同じになるまで処理 for (int i = 0; i < ControllerFetcher.GetMaxConectedController(); i++) { if (ControllerFetcher.GetMaxConectedController() == player_data.Count) { //プレイヤーの接続の確認を完了しました return; } //一つ前の時の確認と比べてプレイヤーの総数が変わっているかの確認をする if (ControllerFetcher.GetMaxConectedController() > player_data.Count) { //コントローラーの数が増えた PlusPlayer(); } else if (ControllerFetcher.GetMaxConectedController() < player_data.Count) { //減った DaletePlayer(); } } //何も変わらなかった }
public static int GetPlayerRank(int rank) { if (rank > 0 && rank < ControllerFetcher.GetMaxConectedController()) { return(playerRankList[rank]); } return(-1); }
// Update is called once per frame void Update() { for (int i = 1; i <= ControllerFetcher.GetMaxConectedController(); ++i) { if (GamepadInput.GamePad.GetButton(GamepadInput.GamePad.Button.A, (GamepadInput.GamePad.Index)i)) { Debug.Log(i + " A is Press"); } } }
private static void DaletePlayer() { //入力を確認できないコントローラーを確認します string[] connect_data = ControllerFetcher.GetConnectedData(); List <int> connect_chacker = new List <int>(); for (int i = 0; i < connect_data.Length; i++) { if (connect_data[i] != "") { //コントローラーの接続を確認 continue; } for (int j = 0; j < player_data.Count; j++) { if (player_data[j].player_number == i) { //既に繋がっていたコントローラーだった connect_chacker.Add(i); continue; } } } //確認できなかったコントローラーを削除します for (int i = 0; i < player_data.Count; i++) { for (int j = 0; j < connect_chacker.Count; j++) { if (player_data[i].player_number == connect_chacker[j]) { //繋がりありました continue; } //繋がりを確認 player_data.RemoveAt(i); } } }
// Use this for initialization void Start() { ControllerFetcher.Initialize(); maxNum = ControllerFetcher.GetMaxConectedController(); }