/// <summary> /// NetWorkManager以外からこの関数を呼ぶ必要はない。 /// </summary> /// <param name="Msg">受け取った内容</param> public void Work(string Msg) { Debug.Log(Msg); //TCPで受け取った文字列をもとに処理をする。 string[] MsgSplit = Msg.Split('='); string Parameter = MsgSplit[0]; string Content = MsgSplit[1]; switch (Parameter) { case "OpponentName": OpponentName.text = Content; break; case "Hand": FieldClear(HandField); foreach (string CardID in Content.Split(',')) { AddCardInstance(int.Parse(CardID), HandField); } break; case "OpponentHand": FieldClear(OpponentHandField); foreach (string CardID in Content.Split(',')) { AddCardInstance(int.Parse(CardID), OpponentHandField); } break; case "Turn": break; case "Error": switch (Content) { case "OverCapacity": Debug.Log("すでに2人が接続済みです。"); netWorkManager.Disconnect(); break; case "CardDoesntExist": Debug.Log("選択されたカードがサーバ上のリストに存在しません。"); //手札データの再取得 netWorkManager.Request(NetWorkManager.RequestParameter.DataRequest, "Hand"); break; case "OpponentDisconnect": Debug.Log("相手の通信が切断されました。"); break; case "UnExpectedError": Debug.LogError(Content); break; default: Debug.LogError(Content); break; } break; case "Finish": break; case "Start": break; case "DrawPile": foreach (string CardID in Content.Split(',')) { sendButton.DrawCard.Enqueue(imgList[int.Parse(CardID)]); } break; default: Debug.LogError("予期しないパラメータを受信しました。"); break; } }