private void ConnectGameServer(MatchS2C feedback) { NetworkManager.Shutdown(() => MatchGameServer(feedback.serverIp, feedback.serverPort)); }
private void HandleMatchFeedback(byte[] data) { UILockManager.ResetGroupState(UIEventGroup.Middle); MatchS2C feedback = ProtobufUtils.Deserialize <MatchS2C>(data); switch (feedback.result) { case MatchServerMessageType.RoomCreatedSucceed: DebugUtils.Log(DebugUtils.Type.Match, "Room Created Succeed~"); //view.timeLeft_room = feedback.matchTime / 1000; view.OpenMatchingUI(); break; case MatchServerMessageType.RoomCreatedFail: DebugUtils.Log(DebugUtils.Type.Match, "Match Room Created Fail~"); break; case MatchServerMessageType.RoomFound: DebugUtils.Log(DebugUtils.Type.Match, "Room Found~"); break; case MatchServerMessageType.RoomReady: DebugUtils.Log(DebugUtils.Type.Match, "Room Ready~"); view.OpenMatchSucceedUI(); view.timeLeft_matchSucceed = feedback.matchTime / 1000; MatchSucceedUIData(feedback.matchers); break; case MatchServerMessageType.Cancelled: case MatchServerMessageType.MatchingTimeout: DebugUtils.Log(DebugUtils.Type.Match, feedback.result.ToString() + "~"); isTimeOut = false; ConnectGameServer(feedback); matcherReadyDatas.Remove(matcherReadyDatas.Find(p => p.playerId != DataManager.GetInstance().GetPlayerId())); view.SetFriendUI(false); view.beInvited = false; currentFriendItem = null; currentFriendId = 0; view.OpenMatchUI(); view.SetStartMatchState(false); break; case MatchServerMessageType.CancelFailed: DebugUtils.Log(DebugUtils.Type.Match, "Match Cancel Failed~"); break; case MatchServerMessageType.MatcherFound: DebugUtils.Log(DebugUtils.Type.Match, "Matcher Found~"); break; case MatchServerMessageType.MatcherCancelled: DebugUtils.Log(DebugUtils.Type.Match, "Matcher Cancelled~"); MatcherCancelledUIData(feedback.matchers); //view.timeLeft_room = feedback.matchTime / 1000; //TODO: if the friend cancelled , need do something break; case MatchServerMessageType.MatcherReady: DebugUtils.Log(DebugUtils.Type.Match, "Matcher Ready~"); MatchSucceedUIData(feedback.matchers); break; default: DebugUtils.Log(DebugUtils.Type.Match, "Match result is wrong~"); break; } }