Exemplo n.º 1
0
 public RoomInfo()
 {
     this.selfInfo       = new PlayerUniqueID();
     this.roomOwner      = new PlayerUniqueID();
     this.roomAttrib     = new RoomAttrib();
     this.campMemberList = new ListView <MemberInfo> [3];
     for (int i = 0; i < 3; i++)
     {
         this.campMemberList[i] = new ListView <MemberInfo>();
     }
     this.fromType = COM_ROOM_FROMTYPE.COM_ROOM_FROM_INTERNAL;
 }
Exemplo n.º 2
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);
            }
        }
Exemplo n.º 3
0
        private static void SetPlayerSlotData(GameObject item, MemberInfo memberInfo, MemberInfo masterMemberInfo, COM_PLAYERCAMP camp, int pos, bool bAvailable, COM_ROOM_FROMTYPE fromType)
        {
            if (bAvailable)
            {
                bool isSelfRoomOwner = Singleton <CRoomSystem> .GetInstance().IsSelfRoomOwner;

                if (memberInfo == null)
                {
                    item.CustomSetActive(true);
                    item.transform.Find("Occupied").gameObject.CustomSetActive(false);
                    GameObject     gameObject = item.transform.Find("BtnJoin").gameObject;
                    CUIEventScript component  = gameObject.GetComponent <CUIEventScript>();
                    if (fromType == COM_ROOM_FROMTYPE.COM_ROOM_FROM_QQSPROT)
                    {
                        gameObject.CustomSetActive(false);
                    }
                    else
                    {
                        gameObject.CustomSetActive(true);
                    }
                    component.m_onClickEventID          = enUIEventID.Room_ChangePos;
                    component.m_onClickEventParams.tag  = (int)camp;
                    component.m_onClickEventParams.tag2 = pos;
                    component.m_onClickEventParams.tag3 = 1;
                }
                else
                {
                    item.CustomSetActive(true);
                    item.transform.Find("Occupied").gameObject.CustomSetActive(true);
                    item.transform.Find("BtnJoin").gameObject.CustomSetActive(false);
                    PlayerUniqueID roomOwner = Singleton <CRoomSystem> .GetInstance().roomInfo.roomOwner;

                    bool           bActive  = roomOwner.ullUid == memberInfo.ullUid;
                    PlayerUniqueID selfInfo = Singleton <CRoomSystem> .GetInstance().roomInfo.selfInfo;

                    bool flag = selfInfo.ullUid == memberInfo.ullUid;
                    item.transform.Find("Occupied/imgOwner").gameObject.CustomSetActive(bActive);
                    CUIFormScript form = Singleton <CUIManager> .GetInstance().GetForm(CInviteSystem.PATH_INVITE_FORM);

                    bool flag2 = true;
                    if (form != null)
                    {
                        CUIListScript component2 = form.GetWidget(7).GetComponent <CUIListScript>();
                        flag2 = (component2.GetSelectedIndex() == 0);
                    }
                    string text = flag2 ? Singleton <CInviteSystem> .GetInstance().GetInviteFriendName(memberInfo.ullUid, (uint)memberInfo.iLogicWorldID) : Singleton <CInviteSystem> .GetInstance().GetInviteGuildMemberName(memberInfo.ullUid);

                    item.transform.Find("Occupied/txtPlayerName").GetComponent <Text>().set_text(string.IsNullOrEmpty(text) ? memberInfo.MemberName : text);
                    GameObject gameObject2 = Utility.FindChild(item, "Occupied/BtnSwap");
                    Transform  transform   = item.transform.Find("Occupied/BtnAddFriend");
                    if (flag)
                    {
                        if (!CSysDynamicBlock.bFriendBlocked)
                        {
                            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

                            if (masterRoleInfo != null)
                            {
                                item.transform.Find("Occupied/HeadBg/imgHead").GetComponent <CUIHttpImageScript>().SetImageUrl(masterRoleInfo.HeadUrl);
                            }
                        }
                        if (transform != null)
                        {
                            transform.gameObject.CustomSetActive(false);
                        }
                        gameObject2.CustomSetActive(false);
                    }
                    else if (memberInfo.RoomMemberType == 1u)
                    {
                        if (!string.IsNullOrEmpty(memberInfo.MemberHeadUrl))
                        {
                            if (!CSysDynamicBlock.bFriendBlocked)
                            {
                                item.transform.Find("Occupied/HeadBg/imgHead").GetComponent <CUIHttpImageScript>().SetImageUrl(Singleton <ApolloHelper> .GetInstance().ToSnsHeadUrl(memberInfo.MemberHeadUrl));
                            }
                            else
                            {
                                CUIFormScript form2 = Singleton <CUIManager> .GetInstance().GetForm(CRoomSystem.PATH_ROOM);

                                if (form2 != null)
                                {
                                    item.transform.Find("Occupied/HeadBg/imgHead").GetComponent <Image>().SetSprite(CUIUtility.s_Sprite_Dynamic_BustPlayer_Dir + "Common_PlayerImg", form2, true, false, false, false);
                                }
                            }
                        }
                        if (masterMemberInfo.swapStatus == 0)
                        {
                            gameObject2.CustomSetActive(true);
                        }
                        else if (masterMemberInfo.swapStatus == 1)
                        {
                            gameObject2.CustomSetActive(false);
                        }
                        else if (masterMemberInfo.swapStatus == 2)
                        {
                            gameObject2.CustomSetActive(masterMemberInfo.swapUid != memberInfo.ullUid);
                        }
                        CUIEventScript component3 = gameObject2.GetComponent <CUIEventScript>();
                        component3.m_onClickEventID          = enUIEventID.Room_ChangePos;
                        component3.m_onClickEventParams.tag  = (int)camp;
                        component3.m_onClickEventParams.tag2 = pos;
                        component3.m_onClickEventParams.tag3 = 2;
                        if (!CSysDynamicBlock.bFriendBlocked)
                        {
                            if (Singleton <CFriendContoller> .instance.model.GetGameOrSnsFriend(memberInfo.ullUid, (uint)memberInfo.iLogicWorldID) == null)
                            {
                                if (transform != null)
                                {
                                    transform.gameObject.CustomSetActive(true);
                                    CUIEventScript component4 = transform.GetComponent <CUIEventScript>();
                                    if (component4 != null)
                                    {
                                        component4.m_onClickEventParams.commonUInt64Param1 = memberInfo.ullUid;
                                        component4.m_onClickEventParams.commonUInt32Param1 = (uint)memberInfo.iLogicWorldID;
                                    }
                                }
                            }
                            else if (transform != null)
                            {
                                transform.gameObject.CustomSetActive(false);
                            }
                        }
                        else if (transform != null)
                        {
                            transform.gameObject.CustomSetActive(false);
                        }
                    }
                    else if (memberInfo.RoomMemberType == 2u)
                    {
                        CUIFormScript form3 = Singleton <CUIManager> .GetInstance().GetForm(CRoomSystem.PATH_ROOM);

                        if (form3 != null)
                        {
                            item.transform.Find("Occupied/HeadBg/imgHead").GetComponent <Image>().SetSprite(CUIUtility.s_Sprite_Dynamic_BustPlayer_Dir + "Img_ComputerHead", form3, true, false, false, false);
                        }
                        gameObject2.CustomSetActive(false);
                        if (transform != null)
                        {
                            transform.gameObject.CustomSetActive(false);
                        }
                    }
                    item.transform.Find("Occupied/BtnKick").gameObject.CustomSetActive(isSelfRoomOwner && !flag);
                    if (fromType == COM_ROOM_FROMTYPE.COM_ROOM_FROM_QQSPROT)
                    {
                        item.transform.Find("Occupied/BtnKick").gameObject.CustomSetActive(false);
                    }
                }
            }
            else
            {
                item.CustomSetActive(false);
            }
        }