Пример #1
0
            public override void addPopupMenu()
            {
                if (m_Component.popupMenuHandle == null)
                {
                    return;
                }
                UPopupAction popupAction = new UPopupAction();

                DataCenter.SNSDataManager.BuddyInfo buddy = LogicDataCenter.snsDataManager.getBuddyInfoByUserID(m_Component.Item.nUserID);
                bool isSameWorld = LogicDataCenter.snsDataManager.isSameGameWorld(buddy.Info.nUserID);

                popupAction.Add(UPopupItemDataBuddyChat.GetDescString(), new UPopupItemDataBuddyChat(buddy.Info.nUserID));
                if (isSameWorld)
                {
                    popupAction.Add(UPopupItemDataTeamRequest.GetDescString(), new UPopupItemDataTeamRequest((int)buddy.Info.dwPdbID));
                    popupAction.Add(UPopupItemDataTeamInvite.GetDescString(), new UPopupItemDataTeamInvite((int)buddy.Info.dwPdbID));
                    popupAction.Add(UPopupItemDataGetPlayerDetail.GetDescString(), new UPopupItemDataGetPlayerDetail((int)buddy.Info.dwPdbID));
                    popupAction.Add(UPopupItemDataKinInvite.GetDescString(), new UPopupItemDataKinInvite((int)buddy.Info.dwPdbID));
                    //popupAction.Add(UPopupItemDataRequestJoinBuddyKin.GetDescString(), new UPopupItemDataRequestJoinBuddyKin((int)buddy.Info.dwPdbID));
                    popupAction.Add(UPopupItemDataPrivateChat.GetDescString(), new UPopupItemDataPrivateChat(buddy.Info.szName));
                }
                popupAction.Add(UPopupItemDataAddBlackList.GetDescString(), new UPopupItemDataAddBlackList(buddy.Info.nUserID, buddy.Info.szName));
                popupAction.Add(UPopupItemDataAddFriend.GetDescString(), new UPopupItemDataAddFriend(buddy.Info.nUserID, buddy.Info.szName));

                m_Component.popupMenuHandle.HandlePopupAction = popupAction;
            }
Пример #2
0
        /// <summary>
        /// 显示主面板
        /// </summary>
        public void updateMainPanel()
        {
            // 设置好友列表内容
            Data.Clear();
            foreach (var buddyGroup in LogicDataCenter.snsDataManager.getBuddyGroupList())
            {
                // 添加一个好友分组
                UBuddyGroupTreeViewDataSource data = new UBuddyGroupTreeViewDataSource();
                data.nBuddyGroupID = buddyGroup.Info.nBuddyGroupID;
                data.Depth         = 0;
                data.IsExpanded    = buddyGroup.isExpanded;

                Data.Add(data);

                // 添加该好友分组下的好友
                foreach (var buddy in LogicDataCenter.snsDataManager.getBuddyListByBuddyGroupID(buddyGroup.Info.nBuddyGroupID))
                {
                    data         = new UBuddyGroupTreeViewDataSource();
                    data.nUserID = buddy.Info.nUserID;
                    data.Depth   = 1;

                    Data.Add(data);
                }
            }

            setBuddyGroupTreeViewDataSource();

            // 设置自己的信息
            DataCenter.SNSDataManager.BuddyInfo myInfo = LogicDataCenter.snsDataManager.MyBuddyInfo;
            MyAvatar.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_PlayerHead, WndID.WND_ID_PLAYERFRAME, 2, 1);
            MyName.text     = myInfo.Info.szName;
            MyStatus.text   = LogicDataCenter.snsDataManager.getSelfStatusDesc();
        }
Пример #3
0
        /// <summary>
        /// 显示主面板
        /// </summary>
        public void updateMainPanel()
        {
            // 设置好友列表内容
            Data.Clear();

            List <SNSDataManager.BuddyInfo> buddyList = null;
            bool isWarScene = GameLogicAPI.isInWarScene() > 0;

            foreach (var buddyGroup in LogicDataCenter.snsDataManager.getBuddyGroupList())
            {
                // 战场中不显示附近的人分组信息
                if (isWarScene && buddyGroup.Info.nBuddyGroupID == (int)EMSNS_BUDDYGROUP_ID.EMSNS_BUDDYGROUP_ID_NEARBY)
                {
                    continue;
                }

                // 添加一个好友分组
                UBuddyGroupTreeViewDataSource data = new UBuddyGroupTreeViewDataSource();
                data.nBuddyGroupID = buddyGroup.Info.nBuddyGroupID;
                data.Depth         = 0;
                data.IsExpanded    = buddyGroup.isExpanded;

                Data.Add(data);

                // 添加该好友分组下的好友
                buddyList = LogicDataCenter.snsDataManager.getBuddyListByBuddyGroupID(buddyGroup.Info.nBuddyGroupID);
                foreach (var buddy in buddyList)
                {
                    data         = new UBuddyGroupTreeViewDataSource();
                    data.nUserID = buddy.Info.nUserID;
                    data.Depth   = 1;

                    Data.Add(data);
                }
            }

            setBuddyGroupTreeViewDataSource();

            // 设置自己的信息
            DataCenter.SNSDataManager.BuddyInfo myInfo = LogicDataCenter.snsDataManager.MyBuddyInfo;
            MyAvatar.sprite    = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_PlayerHead, WndID.WND_ID_SNS_MAINPANEL, 1, 1);
            MyName.text        = myInfo.Info.szName;
            MyStateText.text   = LogicDataCenter.snsDataManager.getSelfStatusDesc();
            MyStateIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_GameState, WndID.WND_ID_SNS_MAINPANEL,
                                                                   UDefines.GetGameStateIconID(myInfo.Info.nStatus));

            if (String.IsNullOrEmpty(myInfo.Info.szMood) == false)
            {
                MyMoodInputField.text = myInfo.Info.szMood;
                if (MoodTips != null)
                {
                    MoodTips.SetText(UTooltipParamName.BodyText, myInfo.Info.szMood);
                    MoodTips.tipPosition = TipPosition.MouseTopRightCorner;
                    MoodTips.enabled     = true;
                }
            }
        }
Пример #4
0
        /// <summary>
        /// 双击好友,打开聊听窗口
        /// </summary>
        public void openChatWnd()
        {
            if (ItemDepth > 0)
            {
                DataCenter.SNSDataManager.BuddyInfo buddyInfo = LogicDataCenter.snsDataManager.getBuddyInfoByUserID(Item.nUserID);

                SNSOpenChatWndMsgData msgData = new SNSOpenChatWndMsgData();
                msgData.msgID      = (int)WndMsgID.WND_MSG_SNS_SHOW_CHAT_WND;
                msgData.nSessionID = buddyInfo.Info.nUserID;
                UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_SNS_SHOW_CHAT_WND, msgData);
            }
        }
Пример #5
0
            public override void addPopupMenu()
            {
                UPopupAction popupAction = new UPopupAction();

                DataCenter.SNSDataManager.BuddyInfo buddy = LogicDataCenter.snsDataManager.getBuddyInfoByUserID(m_Component.Item.nUserID);
                bool isSameWorld = LogicDataCenter.snsDataManager.isSameGameWorld(buddy.Info.nUserID);

                popupAction.Add(UPopupItemDataAddFriend.GetDescString(), new UPopupItemDataAddFriend(buddy.Info.nUserID, buddy.Info.szName));

                if (isSameWorld)
                {
                    popupAction.Add(UPopupItemDataGetPlayerDetail.GetDescString(), new UPopupItemDataGetPlayerDetail((int)buddy.Info.dwPdbID));
                }

                popupAction.Add(UPopupItemDataDelBuddy.GetDescString(), new UPopupItemDataDelBuddy(buddy.Info.nUserID, buddy.Info.szName));

                m_Component.popupMenuHandle.HandlePopupAction = popupAction;
            }
Пример #6
0
        public void onUpdateBuddyInfo()
        {
            DataCenter.SNSDataManager.BuddyInfo buddyInfo = LogicDataCenter.snsDataManager.getBuddyInfoByUserID(SessionID);

            BuddyAvatar.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_PlayerHead, WndID.WND_ID_PLAYERFRAME, 2, 1);
            BuddyName.text     = buddyInfo.Info.szName;
            BuddyLevel.text    = ULocalizationService.Instance.Get("UIView", "SNS", "Level") + buddyInfo.Info.nLevel;
            BuddyStatus.text   = LogicDataCenter.snsDataManager.getBuddyStatusDesc(buddyInfo);

            if (buddyInfo.Info.nStatus == (byte)EMSNS_BUDDY_STATUS.EMSNS_BUDDY_STATUS_OFFLINE)
            {
                BuddyAvatar.AddNewMaterial(EUIShaderType.EST_Gray);
            }
            else
            {
                BuddyAvatar.ResetToDefaultMaterial();
            }
        }
Пример #7
0
        /// <summary>
        /// Updates the view.
        /// </summary>
        protected virtual void UpdateView()
        {
            if (ItemDepth > 0)  // 显示好友
            {
                DataCenter.SNSDataManager.BuddyInfo buddyInfo = LogicDataCenter.snsDataManager.getBuddyInfoByUserID(Item.nUserID);

                BuddyGroupTrans.gameObject.SetActive(false);
                BuddyInfoTrans.gameObject.SetActive(true);

                BuddyName.text = getBuddyName(buddyInfo);
                //BuddyStatus.text = buddyInfo.Info.szStatusStr;
            }
            else               // 显示分组
            {
                Text.text = Item.Name;
                BuddyGroupTrans.gameObject.SetActive(true);
                BuddyInfoTrans.gameObject.SetActive(false);
            }
        }
Пример #8
0
            private void setBuddyInfoTooltips(DataCenter.SNSDataManager.BuddyInfo buddy)
            {
                UTooltipTrigger buddyInfoTooltipTrigger = m_Component.BuddyInfoTrans.gameObject.GetComponent <UTooltipTrigger>();

                if (buddyInfoTooltipTrigger == null)
                {
                    buddyInfoTooltipTrigger             = m_Component.BuddyInfoTrans.gameObject.AddComponent <UTooltipTrigger>(ETooltipStyle.ETS_SNSBuddyInfo);
                    buddyInfoTooltipTrigger.tipPosition = TipPosition.BottomLeftCorner;
                }

                int nWinPro = buddy.Info.nMatchNum > 0 ? (buddy.Info.nWinNum * 100 / buddy.Info.nMatchNum) : 0;

                buddyInfoTooltipTrigger.SetImage("Avatar", USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_PlayerHead, WndID.WND_ID_SNS_MAINPANEL, 1, buddy.Info.nSex + 1));
                buddyInfoTooltipTrigger.SetText("Name", buddy.Info.szName);
                buddyInfoTooltipTrigger.SetImage("RankIcon", USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_RankImage, WndID.WND_ID_SNS_MAINPANEL, 2, buddy.Info.nRankIconID));
                buddyInfoTooltipTrigger.SetText("RankName", buddy.Info.szRankName);
                buddyInfoTooltipTrigger.SetText("Clan", ULocalizationService.Instance.Get("UIView", "SNS", "Clan") + buddy.Info.szClan);
                buddyInfoTooltipTrigger.SetText("WinPro", ULocalizationService.Instance.Get("UIView", "SNS", "WinPro") + nWinPro + "%");
                buddyInfoTooltipTrigger.SetText("MatchNum", ULocalizationService.Instance.Get("UIView", "SNS", "MatchNum") + buddy.Info.nMatchNum);
                buddyInfoTooltipTrigger.SetText("Status", LogicDataCenter.snsDataManager.getBuddyStatusDesc(buddy));
                buddyInfoTooltipTrigger.SetText("ActorName", ULocalizationService.Instance.Get("UIView", "Common", "roleName") + ": " + buddy.Info.szName);
                buddyInfoTooltipTrigger.SetText("Mood", buddy.Info.szMood + " ");
            }
Пример #9
0
            public virtual void addPopupMenu()
            {
                UPopupAction popupAction = new UPopupAction();

                DataCenter.SNSDataManager.BuddyInfo buddy = LogicDataCenter.snsDataManager.getBuddyInfoByUserID(m_Component.Item.nUserID);
                bool isSameWorld = LogicDataCenter.snsDataManager.isSameGameWorld(buddy.Info.nUserID);

                popupAction.Add(UPopupItemDataBuddyChat.GetDescString(), new UPopupItemDataBuddyChat(buddy.Info.nUserID));
                if (isSameWorld)
                {
                    if (buddy.Info.nStatus != (int)ACTOR_GAME_STATE.GAME_STATE_OFFLINE)
                    {
                        popupAction.Add(UPopupItemDataTeamRequest.GetDescString(), new UPopupItemDataTeamRequest((int)buddy.Info.dwPdbID));
                        popupAction.Add(UPopupItemDataTeamInvite.GetDescString(), new UPopupItemDataTeamInvite((int)buddy.Info.dwPdbID));
                    }
                    popupAction.Add(UPopupItemDataGetPlayerDetail.GetDescString(), new UPopupItemDataGetPlayerDetail((int)buddy.Info.dwPdbID));
                    //popupAction.Add(UPopupItemDataRequestJoinBuddyKin.GetDescString(), new UPopupItemDataRequestJoinBuddyKin((int)buddy.Info.dwPdbID));
                    popupAction.Add(UPopupItemDataKinInvite.GetDescString(), new UPopupItemDataKinInvite((int)buddy.Info.dwPdbID));
                }
                if (buddy.Info.nStatus != (int)ACTOR_GAME_STATE.GAME_STATE_OFFLINE)
                {
                    popupAction.Add(UPopupItemDataPrivateChat.GetDescString(), new UPopupItemDataPrivateChat(buddy.Info.szName));
                    if (GameLogicAPI.isMainMap((int)buddy.Info.dwSceneID))
                    {
                        popupAction.Add(UPopupItemDataTransmitTo.GetDescString(), new UPopupItemDataTransmitTo(buddy.Info.dwWorldID, buddy.Info.dwServerID, buddy.Info.dwSceneID));
                    }
                }
                popupAction.Add(UPopupItemDataDelBuddy.GetDescString(), new UPopupItemDataDelBuddy(buddy.Info.nUserID, buddy.Info.szName));
                popupAction.Add(UPopupItemDataUpdateRemark.GetDescString(), new UPopupItemDataUpdateRemark(buddy.Info.nUserID, buddy.Info.szName));

                // 移动好友到分组
                UListComponentItemDataPopup popupItem      = new UListComponentItemDataPopup(_actionSelected: null, _listChildItems: new List <UListComponentItemDataPopupBase>());
                Dictionary <int, string>    buddyGroupList = new Dictionary <int, string>();
                int nValidBuddyGroupCount = 0;

                foreach (var item in LogicDataCenter.snsDataManager.getBuddyGroupList())
                {
                    if (item.Info.nBuddyGroupID == (int)EMSNS_BUDDYGROUP_ID.EMSNS_BUDDYGROUP_ID_BLACKLIST ||
                        item.Info.nBuddyGroupID == (int)EMSNS_BUDDYGROUP_ID.EMSNS_BUDDYGROUP_ID_LastPlaying ||
                        item.Info.nBuddyGroupID == (int)EMSNS_BUDDYGROUP_ID.EMSNS_BUDDYGROUP_ID_NEARBY)
                    {
                        continue;
                    }
                    if (item.Info.nBuddyGroupID == LogicDataCenter.snsDataManager.getBuddyGroupID(buddy.Info.nUserID))
                    {
                        continue;
                    }
                    popupItem.ItemChildItems.Add(new UPopupItemDataChangeBuddyGroup(buddy.Info.nUserID, item.Info.nBuddyGroupID, _strItemTypeName: item.Info.szBuddyGroupName));

                    nValidBuddyGroupCount++;
                }
                if (nValidBuddyGroupCount > 0)
                {
                    popupAction.Add(ULocalizationService.Instance.Get("UIView", "PopupMenu", "ChangeBuddyGroup"), popupItem);
                }

                popupAction.Add(UPopupItemDataAddBlackList.GetDescString(), new UPopupItemDataAddBlackList(buddy.Info.nUserID, buddy.Info.szName));


                m_Component.popupMenuHandle.HandlePopupAction = popupAction;
            }