Пример #1
0
        public static void SetRoomData(GameObject root, RoomInfo data)
        {
            CRoomView.SetStartBtnStatus(root, data);
            CRoomView.UpdateBtnStatus(root, data);
            ResDT_LevelCommonInfo pvpMapCommonInfo = CLevelCfgLogicManager.GetPvpMapCommonInfo(data.roomAttrib.bMapType, data.roomAttrib.dwMapId);
            int num = (int)(pvpMapCommonInfo.bMaxAcntNum / 2);

            root.transform.Find("Panel_Main/MapInfo/txtMapName").gameObject.GetComponent <Text>().text = pvpMapCommonInfo.szName;
            root.transform.Find("Panel_Main/MapInfo/txtTeam").gameObject.GetComponent <Text>().text    = Singleton <CTextManager> .get_instance().GetText(string.Format("Common_Team_Player_Type_{0}", num));

            MemberInfo masterMemberInfo = data.GetMasterMemberInfo();

            DebugHelper.Assert(masterMemberInfo != null);
            for (int i = 1; i <= 5; i++)
            {
                GameObject gameObject = root.transform.Find(string.Format("Panel_Main/LeftPlayers/Left_Player{0}", i)).gameObject;
                MemberInfo memberInfo = data.GetMemberInfo(1, i - 1);
                CRoomView.SetPlayerSlotData(gameObject, memberInfo, masterMemberInfo, 1, i - 1, num >= i);
            }
            for (int j = 1; j <= 5; j++)
            {
                GameObject gameObject = root.transform.Find(string.Format("Panel_Main/RightPlayers/Right_Player{0}", j)).gameObject;
                MemberInfo memberInfo = data.GetMemberInfo(2, j - 1);
                CRoomView.SetPlayerSlotData(gameObject, memberInfo, masterMemberInfo, 2, j - 1, num >= j);
            }
            ResDT_LevelCommonInfo pvpMapCommonInfo2 = CLevelCfgLogicManager.GetPvpMapCommonInfo(data.roomAttrib.bMapType, data.roomAttrib.dwMapId);

            CRoomView.SetComEnable(pvpMapCommonInfo2.stPickRuleInfo.bPickType != 3);
        }
Пример #2
0
        private void OnFriendOnlineChg()
        {
            CUIFormScript form = Singleton <CUIManager> .GetInstance().GetForm(PATH_ROOM);

            if (form != null)
            {
                CRoomView.SetRoomData(form.gameObject, this.roomInfo);
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        public static void SetRoomData(GameObject root, RoomInfo data)
        {
            ResDT_LevelCommonInfo pvpMapCommonInfo = CLevelCfgLogicManager.GetPvpMapCommonInfo(data.roomAttrib.bMapType, data.roomAttrib.dwMapId);
            int num = (int)(pvpMapCommonInfo.bMaxAcntNum / 2);

            CRoomView.SetStartBtnStatus(root, data, (int)pvpMapCommonInfo.bMaxAcntNum);
            CRoomView.UpdateBtnStatus(root, data);
            if (data.fromType == COM_ROOM_FROMTYPE.COM_ROOM_FROM_QQSPROT)
            {
                Transform transform = root.transform.Find("Btn_Back");
                if (transform)
                {
                    transform.gameObject.CustomSetActive(false);
                }
            }
            root.transform.Find("Panel_Main/MapInfo/txtMapName").gameObject.GetComponent <Text>().set_text(pvpMapCommonInfo.szName);
            root.transform.Find("Panel_Main/MapInfo/txtTeam").gameObject.GetComponent <Text>().set_text(Singleton <CTextManager> .instance.GetText(string.Format("Common_Team_Player_Type_{0}", num)));
            MemberInfo masterMemberInfo = data.GetMasterMemberInfo();

            DebugHelper.Assert(masterMemberInfo != null);
            COM_ROOM_FROMTYPE fromType = data.fromType;

            for (int i = 1; i <= 5; i++)
            {
                GameObject gameObject = root.transform.Find(string.Format("Panel_Main/LeftPlayers/Left_Player{0}", i)).gameObject;
                MemberInfo memberInfo = data.GetMemberInfo(COM_PLAYERCAMP.COM_PLAYERCAMP_1, i - 1);
                CRoomView.SetPlayerSlotData(gameObject, memberInfo, masterMemberInfo, COM_PLAYERCAMP.COM_PLAYERCAMP_1, i - 1, num >= i, fromType);
            }
            for (int j = 1; j <= 5; j++)
            {
                GameObject gameObject2 = root.transform.Find(string.Format("Panel_Main/RightPlayers/Right_Player{0}", j)).gameObject;
                MemberInfo memberInfo2 = data.GetMemberInfo(COM_PLAYERCAMP.COM_PLAYERCAMP_2, j - 1);
                CRoomView.SetPlayerSlotData(gameObject2, memberInfo2, masterMemberInfo, COM_PLAYERCAMP.COM_PLAYERCAMP_2, j - 1, num >= j, fromType);
            }
            ResDT_LevelCommonInfo pvpMapCommonInfo2 = CLevelCfgLogicManager.GetPvpMapCommonInfo(data.roomAttrib.bMapType, data.roomAttrib.dwMapId);

            CRoomView.SetComEnable(pvpMapCommonInfo2.stPickRuleInfo.bPickType != 3);
            if (fromType == COM_ROOM_FROMTYPE.COM_ROOM_FROM_QQSPROT)
            {
                CRoomView.DontShowComEnable(false);
            }
        }
Пример #5
0
 public static void ResetSwapView()
 {
     CRoomView.SetChgEnable(true);
     CRoomView.SetSwapTimer(0, COM_PLAYERCAMP.COM_PLAYERCAMP_1, 0);
     CRoomView.ShowSwapMsg(0, COM_PLAYERCAMP.COM_PLAYERCAMP_1, 0);
 }
Пример #6
0
        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);
                }
            }
        }
Пример #7
0
 public static void ResetSwapView()
 {
     CRoomView.SetChgEnable(true);
     CRoomView.SetSwapTimer(0, 1, 0);
     CRoomView.ShowSwapMsg(0, 1, 0);
 }