예제 #1
0
        public void onAddLabel(UAddLabelMsgData msgData)
        {
            if (msgData == null)
            {
                return;
            }

            if (SupportVoteFrame != null)
            {
                SupportVoteFrame.UpdateSubFrame();
            }

            SSchemeLabelConfig labelConfig = WarSupportPlayerConfigPage.Instance.GetLabelConfig(msgData.nLabelID);

            if (labelConfig == null)
            {
                return;
            }

            // 播放广播
            string strFormat = ULocalizationService.Instance.Get("UIView", "Support", "AddLabelMsg");
            string strMsg    = string.Format(strFormat, ChatMessageManager.ChatItemFlag, msgData.operatorName,
                                             ChatMessageManager.ChatItemFlag, msgData.targetName, ChatMessageManager.ChatItemFlag, labelConfig.labelName);

            gamelogic_show_chat_message msg = new gamelogic_show_chat_message();

            msg.channel = (int)EMChatChannelType.CHAT_CHANNEL_WARSCENE;
            msg.message = strMsg;
            LogicDataCenter.chatMessageManager.AddChatMessage(ref msg);
        }
예제 #2
0
        public void recvAddLabel(cmd_war_add_label data)
        {
            if (data.targetPdbid <= 0)
            {
                Debug.LogError("WarLabelDataManger::recvAddLabel, data.targetPdbid <= 0");
                return;
            }


            uint uTargetPdbid = data.targetPdbid;
            int  nLabelID     = data.nLabelID;

            // 获取某个玩家本次的标签信息
            Dictionary <int, int> outLabelInfo;

            if (!m_dicLabelData.TryGetValue(uTargetPdbid, out outLabelInfo))
            {
                outLabelInfo = new Dictionary <int, int>();
                m_dicLabelData.Add(uTargetPdbid, outLabelInfo);
            }

            // 判断该玩家是否有该标签信息
            if (!outLabelInfo.ContainsKey(nLabelID))
            {
                outLabelInfo.Add(nLabelID, 0);
            }

            outLabelInfo[nLabelID]++;

            // 保存最新的标签
            m_LastLabelList.Enqueue(data);

            UAddLabelMsgData msgData = new UAddLabelMsgData();

            msgData.msgID        = (int)WndMsgID.WND_MSG_WAR_HAS_ADD_LABEL;
            msgData.nLabelID     = data.nLabelID;
            msgData.operatorName = data.szOperatorName;
            msgData.targetName   = data.szTargetName;
            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_WAR_HAS_ADD_LABEL, msgData);
        }