private void OnFriendOnlineChg() { CUIFormScript form = Singleton <CUIManager> .GetInstance().GetForm(PATH_ROOM); if (form != null) { CRoomView.SetRoomData(form.gameObject, this.roomInfo); } }
public static void OnPlayerJoinRoom(CSPkg msg) { Singleton <CUIManager> .GetInstance().CloseSendMsgAlert(); if (msg.stPkgData.stJoinMultGameRsp.iErrCode == 0) { Singleton <GameBuilder> .instance.EndGame(); CRoomSystem instance = Singleton <CRoomSystem> .GetInstance(); instance.bInRoom = true; instance.BuildRoomInfo(msg.stPkgData.stJoinMultGameRsp.stInfo.stOfSucc); CUIFormScript script = Singleton <CUIManager> .GetInstance().OpenForm(PATH_ROOM, false, true); Singleton <CTopLobbyEntry> .GetInstance().OpenForm(); Singleton <CInviteSystem> .GetInstance().OpenInviteForm(COM_INVITE_JOIN_TYPE.COM_INVITE_JOIN_ROOM); Singleton <CChatController> .instance.model.channelMgr.Clear(EChatChannel.Room, 0L, 0); Singleton <CChatController> .instance.model.channelMgr.SetChatTab(CChatChannelMgr.EChatTab.Room); Singleton <CChatController> .instance.ShowPanel(true, false); Singleton <CChatController> .instance.view.UpView(true); Singleton <CChatController> .instance.model.sysData.ClearEntryText(); CRoomView.SetRoomData(script.gameObject, instance.roomInfo); Singleton <CMatchingSystem> .instance.cacheMathingInfo.CanGameAgain = instance.IsSelfRoomOwner; if (!instance.IsSelfRoomOwner) { MonoSingleton <NewbieGuideManager> .instance.StopCurrentGuide(); } } else if (msg.stPkgData.stJoinMultGameRsp.iErrCode == 14) { DateTime banTime = MonoSingleton <IDIPSys> .GetInstance().GetBanTime(COM_ACNT_BANTIME_TYPE.COM_ACNT_BANTIME_BANPLAYPVP); object[] args = new object[] { banTime.Year, banTime.Month, banTime.Day, banTime.Hour, banTime.Minute }; string strContent = string.Format("您被禁止竞技!截止时间为{0}年{1}月{2}日{3}时{4}分", args); Singleton <CUIManager> .GetInstance().OpenMessageBox(strContent, false); } else { object[] replaceArr = new object[] { Utility.ProtErrCodeToStr(0x3fe, msg.stPkgData.stJoinMultGameRsp.iErrCode) }; Singleton <CUIManager> .GetInstance().OpenTips("PVP_Enter_Room_Error", true, 1f, null, replaceArr); } }
public static void OnRoomChange(CSPkg msg) { COMDT_ROOMCHG_CHGMEMBERPOS stChgMemberPos; MemberInfo info3; Singleton <CUIManager> .GetInstance().CloseSendMsgAlert(); Assets.Scripts.GameSystem.RoomInfo roomInfo = Singleton <CRoomSystem> .GetInstance().roomInfo; if (roomInfo == null) { DebugHelper.Assert(false, "Room Info is NULL!!!"); return; } bool flag = false; if (msg.stPkgData.stRoomChgNtf.stRoomChgInfo.iChgType == 0) { int index = msg.stPkgData.stRoomChgNtf.stRoomChgInfo.stChgInfo.stPlayerAdd.iCamp - 1; MemberInfo item = Singleton <CRoomSystem> .GetInstance().CreateMemInfo(ref msg.stPkgData.stRoomChgNtf.stRoomChgInfo.stChgInfo.stPlayerAdd.stMemInfo, (COM_PLAYERCAMP)msg.stPkgData.stRoomChgNtf.stRoomChgInfo.stChgInfo.stPlayerAdd.iCamp, roomInfo.roomAttrib.bWarmBattle); roomInfo.CampMemberList[index].Add(item); flag = true; goto Label_05C2; } if (msg.stPkgData.stRoomChgNtf.stRoomChgInfo.iChgType != 1) { if (msg.stPkgData.stRoomChgNtf.stRoomChgInfo.iChgType == 2) { Singleton <CRoomSystem> .GetInstance().bInRoom = false; Singleton <CUIManager> .GetInstance().CloseForm(PATH_CREATE_ROOM); Singleton <CUIManager> .GetInstance().CloseForm(PATH_ROOM); Singleton <CTopLobbyEntry> .GetInstance().CloseForm(); Singleton <CInviteSystem> .GetInstance().CloseInviteForm(); Singleton <CChatController> .instance.model.channelMgr.Clear(EChatChannel.Room, 0L, 0); Singleton <CChatController> .instance.model.channelMgr.SetChatTab(CChatChannelMgr.EChatTab.Normal); Singleton <CChatController> .instance.view.UpView(false); Singleton <CChatController> .instance.model.sysData.ClearEntryText(); Singleton <CUIManager> .GetInstance().OpenTips("PVP_Room_Kick_Tip", true, 1f, null, new object[0]); goto Label_05C2; } if (msg.stPkgData.stRoomChgNtf.stRoomChgInfo.iChgType == 4) { roomInfo.roomOwner.ullUid = msg.stPkgData.stRoomChgNtf.stRoomChgInfo.stChgInfo.stMasterChg.stNewMaster.ullMasterUid; roomInfo.roomOwner.iGameEntity = msg.stPkgData.stRoomChgNtf.stRoomChgInfo.stChgInfo.stMasterChg.stNewMaster.iMasterGameEntity; flag = true; goto Label_05C2; } if (msg.stPkgData.stRoomChgNtf.stRoomChgInfo.iChgType != 5) { if (msg.stPkgData.stRoomChgNtf.stRoomChgInfo.iChgType == 3) { enRoomState bOldState = (enRoomState)msg.stPkgData.stRoomChgNtf.stRoomChgInfo.stChgInfo.stStateChg.bOldState; enRoomState bNewState = (enRoomState)msg.stPkgData.stRoomChgNtf.stRoomChgInfo.stChgInfo.stStateChg.bNewState; if ((bOldState == enRoomState.E_ROOM_PREPARE) && (bNewState == enRoomState.E_ROOM_WAIT)) { Singleton <LobbyLogic> .GetInstance().inMultiRoom = false; Singleton <CUIEventManager> .GetInstance().DispatchUIEvent(enUIEventID.HeroSelect_CloseForm); Singleton <CUIManager> .GetInstance().OpenForm(PATH_ROOM, false, true); Singleton <CChatController> .instance.model.channelMgr.Clear(EChatChannel.Room, 0L, 0); Singleton <CChatController> .instance.model.channelMgr.SetChatTab(CChatChannelMgr.EChatTab.Room); Singleton <CChatController> .instance.ShowPanel(true, false); Singleton <CChatController> .instance.view.UpView(true); Singleton <CChatController> .instance.model.sysData.ClearEntryText(); } if ((bOldState == enRoomState.E_ROOM_WAIT) && (bNewState == enRoomState.E_ROOM_CONFIRM)) { CUIEvent uiEvent = new CUIEvent { m_eventID = enUIEventID.Matching_OpenConfirmBox }; uiEvent.m_eventParams.tag = roomInfo.roomAttrib.bPkAI; Singleton <CUIEventManager> .GetInstance().DispatchUIEvent(uiEvent); if (roomInfo.roomAttrib.bWarmBattle) { CFakePvPHelper.SetConfirmFakeData(); } } } goto Label_05C2; } stChgMemberPos = msg.stPkgData.stRoomChgNtf.stRoomChgInfo.stChgInfo.stChgMemberPos; if (stChgMemberPos.bNewCamp == stChgMemberPos.bOldCamp) { for (int j = 0; j < roomInfo.CampMemberList[stChgMemberPos.bOldCamp - 1].Count; j++) { if (roomInfo.CampMemberList[stChgMemberPos.bOldCamp - 1][j].ullUid == stChgMemberPos.ullMemberUid) { roomInfo.CampMemberList[stChgMemberPos.bOldCamp - 1][j].dwPosOfCamp = stChgMemberPos.bNewPosOfCamp; break; } } goto Label_046C; } info3 = null; for (int i = 0; i < roomInfo.CampMemberList[stChgMemberPos.bOldCamp - 1].Count; i++) { if (roomInfo.CampMemberList[stChgMemberPos.bOldCamp - 1][i].ullUid == stChgMemberPos.ullMemberUid) { info3 = roomInfo.CampMemberList[stChgMemberPos.bOldCamp - 1][i]; roomInfo.CampMemberList[stChgMemberPos.bOldCamp - 1].RemoveAt(i); break; } } } else { int num2 = msg.stPkgData.stRoomChgNtf.stRoomChgInfo.stChgInfo.stPlayerLeave.iCamp - 1; int bPos = msg.stPkgData.stRoomChgNtf.stRoomChgInfo.stChgInfo.stPlayerLeave.bPos; for (int k = 0; k < roomInfo.CampMemberList[num2].Count; k++) { if (roomInfo.CampMemberList[num2][k].dwPosOfCamp == bPos) { roomInfo.CampMemberList[num2].RemoveAt(k); break; } } flag = true; goto Label_05C2; } DebugHelper.Assert(info3 != null, "oldMemberInfo is NULL!!"); info3.camp = (COM_PLAYERCAMP)stChgMemberPos.bNewCamp; info3.dwPosOfCamp = stChgMemberPos.bNewPosOfCamp; roomInfo.CampMemberList[stChgMemberPos.bNewCamp - 1].Add(info3); Label_046C: flag = true; Label_05C2: if (flag) { CUIFormScript form = Singleton <CUIManager> .GetInstance().GetForm(PATH_ROOM); if (form != null) { CRoomView.SetRoomData(form.gameObject, roomInfo); } } }