/// <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); }
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); } }
//系统频道 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); }