예제 #1
0
    /// <summary>
    /// 获取广播配置
    /// </summary>
    /// <returns>The broadcast config.</returns>
    /// <param name="broadcastID">广播id</param>
    public BroadcastConfigData GetBroadcastConfig(int broadcastID)
    {
        BroadcastConfigData data = null;

        m_BroadcastConfigDict.TryGetValue(broadcastID, out data);
        return(data);
    }
예제 #2
0
    private static void RobotConfigPostprocess()
    {
        string     path = System.IO.Path.Combine(RESOURCE_Broadcast_CONFIG_FOLDER, "BroadcastConfig.xml");
        TextReader tr   = new StreamReader(path);
        string     text = tr.ReadToEnd();

        if (text == null)
        {
            Debug.LogError("Broadcast Config file not exist");
            return;
        }
        else
        {
            XmlSpreadSheetReader.ReadSheet(text);
            XmlSpreadSheet sheet = XmlSpreadSheetReader.Output;
            string[]       keys  = XmlSpreadSheetReader.Keys;

            object[] levelIds = sheet[keys[0]];

            List <BroadcastConfigData> tempList = new List <BroadcastConfigData>();

            for (int i = 0; i < levelIds.Length; i++)
            {
                if (0 == i || 1 == i)
                {
                    continue;
                }
                BroadcastConfigData data = new BroadcastConfigData();
                data.BroadcastId         = Convert.ToInt32(sheet["BroadcastId"][i]);
                data.BroadcastType       = Convert.ToInt32(sheet["BroadcastType"][i]);
                data.BroadcastConditions = Convert.ToInt32(sheet["BroadcastConditions"][i]);
                data.BroadcastContent    = Convert.ToString(sheet["BroadcastContent"][i]);

                tempList.Add(data);
            }

            CreateBroadcastConfigDataBase(tempList);
        }
    }
예제 #3
0
    //系统频道
    CommandCallbackType ReceiveSystemMsgHandle(byte[] dataBuffer, int socketID)
    {
        switch ((Chat.CHAT_MSG_SYSTYPE)dataBuffer[0])
        {
        case Chat.CHAT_MSG_SYSTYPE.NONE_SYS_CHAT_TYPE:
        case Chat.CHAT_MSG_SYSTYPE.WARING_SYS_CHAT_TYPE:
            SMsgSysChat_SC sMsgSysChat_SC = SMsgSysChat_SC.ParsePackage(dataBuffer);
            SMsgChat_SC    sMsgChat_SC    = new SMsgChat_SC();
            sMsgChat_SC.Chat        = sMsgSysChat_SC.Chat;
            sMsgChat_SC.L_LabelChat = ChatRecordManager.Instance.ParseColorChat(Chat.WindowType.System, sMsgChat_SC);
            sMsgChat_SC.L_Channel   = (int)Chat.WindowType.System;
            if (GameManager.Instance.CurrentState == GameManager.GameState.GAME_STATE_TOWN)
            {
                SMsgChat_SC bChat = sMsgChat_SC;
                bChat.L_LabelChat = bChat.L_LabelChat.Remove(8, 1);
                UI.GoodsMessageManager.Instance.AddNoticeMessage(bChat);
            }
            ChatRecordManager.Instance.AddPublicRecord(Chat.WindowType.System, sMsgChat_SC);
            UIEventManager.Instance.TriggerUIEvent(UIEventType.WorldChatMsg, sMsgChat_SC);
            break;

        case Chat.CHAT_MSG_SYSTYPE.BROADCAST_SYS_CHAT_TYPE:
            SMsgBroadCastSysTips_SC sMsgBroadCastSysTips_SC = SMsgBroadCastSysTips_SC.ParsePackage(dataBuffer);
            SMsgChat_SC             broadcastChat           = new SMsgChat_SC();
            if (TownRobotManager.Instance == null)
            {
                return(CommandCallbackType.Continue);
            }
            BroadcastConfigData configData = TownRobotManager.Instance.GetBroadcastConfig(sMsgBroadCastSysTips_SC.dwSysTipsID);
            string parmStr = "";
            switch (configData.BroadcastType)
            {
            case 1:
                var sirenData = SirenDataManager.Instance.GetPlayerSirenList().SingleOrDefault(p => p._sirenID == configData.BroadcastConditions);
                parmStr = LanguageTextManager.GetString(sirenData._name);
                break;

            case 2:
                var itemData = ItemDataManager.Instance.GetItemData(configData.BroadcastConditions);
                parmStr = UI.NGUIColor.SetTxtColor(LanguageTextManager.GetString(itemData._szGoodsName), (UI.TextColor)itemData._ColorLevel);
                break;

            case 3:
                var ectypeData = EctypeConfigManager.Instance.EctypeContainerConfigList[configData.BroadcastConditions];
                parmStr = LanguageTextManager.GetString(ectypeData.lEctypeName);
                break;

            case 4:
                var titleData = PlayerDataManager.Instance.GetPlayerTitleConfigData(configData.BroadcastConditions);
                //parmStr = LanguageTextManager.GetString(titleData._TitleName);
                break;

            case 5:
                var taskData = GuideConfigManager.Instance.TaskNewConfigFile.Datas.SingleOrDefault(p => p.TaskID == configData.BroadcastConditions);
                parmStr = LanguageTextManager.GetString(taskData.TaskTitle);
                break;
            }
            broadcastChat.Chat        = string.Format(LanguageTextManager.GetString(configData.BroadcastContent), sMsgBroadCastSysTips_SC.SZActorName, parmStr);
            broadcastChat.L_LabelChat = ChatRecordManager.Instance.ParseColorChat(Chat.WindowType.System, broadcastChat);
            broadcastChat.L_Channel   = (int)Chat.WindowType.System;
            if (GameManager.Instance.CurrentState == GameManager.GameState.GAME_STATE_TOWN)
            {
                SMsgChat_SC bChat = broadcastChat;
                bChat.L_LabelChat = bChat.L_LabelChat.Remove(8, 1);
                UI.GoodsMessageManager.Instance.AddNoticeMessage(bChat);
            }
            ChatRecordManager.Instance.AddPublicRecord(Chat.WindowType.System, broadcastChat);
            UIEventManager.Instance.TriggerUIEvent(UIEventType.WorldChatMsg, broadcastChat);
            break;
        }

        return(CommandCallbackType.Continue);
    }