Example #1
0
    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;
        }
    }
Example #2
0
    //コントローラーの繋がりを確認する
    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();
            }
        }
        //何も変わらなかった
    }
Example #3
0
 public static int GetPlayerRank(int rank)
 {
     if (rank > 0 && rank < ControllerFetcher.GetMaxConectedController())
     {
         return(playerRankList[rank]);
     }
     return(-1);
 }
Example #4
0
 // 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");
         }
     }
 }
Example #5
0
    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);
            }
        }
    }
Example #6
0
 // Use this for initialization
 void Start()
 {
     ControllerFetcher.Initialize();
     maxNum = ControllerFetcher.GetMaxConectedController();
 }