public void InnerHandle_InBat_PreConfigMsg(COM_INBATTLE_CHAT_TYPE chatType, uint herocfgID, uint cfg_id, ulong ullUid) { ResInBatMsgHeroActCfg heroActCfg = Singleton <InBattleMsgMgr> .instance.GetHeroActCfg(herocfgID, cfg_id); ResInBatMsgCfg cfgData = Singleton <InBattleMsgMgr> .instance.GetCfgData(cfg_id); if (cfgData != null) { if (heroActCfg != null) { InBattleMsgUT.ShowInBattleMsg(chatType, ullUid, herocfgID, heroActCfg.szContent, heroActCfg.szSound, true); } else { InBattleMsgUT.ShowInBattleMsg(chatType, ullUid, herocfgID, cfgData.szContent, cfgData.szSound, false); } if ((chatType == COM_INBATTLE_CHAT_TYPE.COM_INBATTLE_CHATTYPE_SIGNAL) && (Singleton <CBattleSystem> .instance.TheMinimapSys.CurMapType() == MinimapSys.EMapType.Mini)) { ReadonlyContext <PoolObjHandle <ActorRoot> > allHeroes = Singleton <GamePlayerCenter> .instance.GetPlayerByUid(ullUid).GetAllHeroes(); for (int i = 0; i < allHeroes.Count; i++) { PoolObjHandle <ActorRoot> handle = allHeroes[i]; ActorRoot root = handle.handle; if ((root != null) && (root.TheActorMeta.ConfigId == herocfgID)) { Vector2 sreenLoc = CUIUtility.WorldToScreenPoint(this.m_battleForm.GetCamera(), root.HudControl.GetSmallMapPointer_WorldPosition()); Singleton <CUIParticleSystem> .instance.AddParticle(cfgData.szMiniMapEffect, 2f, sreenLoc); return; } } } } }
public void ParseServerData(COMDT_SELFDEFINE_CHATINFO chatInfo) { if (chatInfo == null) { return; } bool flag = false; this.totalCount = chatInfo.bMsgCnt; for (int i = 0; i < (int)chatInfo.bMsgCnt; i++) { COMDT_SELFDEFINE_DETAIL_CHATINFO cOMDT_SELFDEFINE_DETAIL_CHATINFO = chatInfo.astChatMsg[i]; if (cOMDT_SELFDEFINE_DETAIL_CHATINFO.bChatType == 4) { flag = true; break; } if (cOMDT_SELFDEFINE_DETAIL_CHATINFO.bChatType == 1 && cOMDT_SELFDEFINE_DETAIL_CHATINFO.stChatInfo.get_stSignalID().dwTextID > 0u) { flag = true; break; } } if (!flag) { this.UseDefaultShortcut(); return; } for (int j = 0; j < (int)chatInfo.bMsgCnt; j++) { COMDT_SELFDEFINE_DETAIL_CHATINFO cOMDT_SELFDEFINE_DETAIL_CHATINFO2 = chatInfo.astChatMsg[j]; if (cOMDT_SELFDEFINE_DETAIL_CHATINFO2.bChatType == 1) { uint dwTextID = cOMDT_SELFDEFINE_DETAIL_CHATINFO2.stChatInfo.get_stSignalID().dwTextID; TabElement tabElement = new TabElement(dwTextID, string.Empty); tabElement.cfgId = dwTextID; if (dwTextID > 0u) { ResInBatMsgCfg cfgData = this.GetCfgData(tabElement.cfgId); DebugHelper.Assert(cfgData != null, "custom shortcut ParseServerData cfgdata is null, cfgID:" + tabElement.cfgId); if (cfgData != null) { tabElement.configContent = cfgData.szContent; } } this.menuEntList.Add(tabElement); } else if (cOMDT_SELFDEFINE_DETAIL_CHATINFO2.bChatType == 1) { string text = StringHelper.BytesToString(cOMDT_SELFDEFINE_DETAIL_CHATINFO2.stChatInfo.get_stSelfDefineStr().szContent); if (!string.IsNullOrEmpty(text)) { TabElement tabElement2 = new TabElement(string.Empty); this.menuEntList.Add(tabElement2); } } } this.SyncData(this.menuEntList, this.lastMenuEntList); this.Print(this.menuEntList, "服务器解析出来的自定义数据"); }
public void ParseServerData(COMDT_SELFDEFINE_CHATINFO chatInfo) { if (chatInfo != null) { bool flag = false; this.totalCount = chatInfo.bMsgCnt; for (int i = 0; i < chatInfo.bMsgCnt; i++) { COMDT_SELFDEFINE_DETAIL_CHATINFO comdt_selfdefine_detail_chatinfo = chatInfo.astChatMsg[i]; if (comdt_selfdefine_detail_chatinfo.bChatType == 4) { flag = true; break; } if ((comdt_selfdefine_detail_chatinfo.bChatType == 1) && (comdt_selfdefine_detail_chatinfo.stChatInfo.stSignalID.dwTextID > 0)) { flag = true; break; } } if (!flag) { this.UseDefaultShortcut(); } else { for (int j = 0; j < chatInfo.bMsgCnt; j++) { COMDT_SELFDEFINE_DETAIL_CHATINFO comdt_selfdefine_detail_chatinfo2 = chatInfo.astChatMsg[j]; if (comdt_selfdefine_detail_chatinfo2.bChatType == 1) { uint dwTextID = comdt_selfdefine_detail_chatinfo2.stChatInfo.stSignalID.dwTextID; TabElement item = new TabElement(dwTextID, string.Empty) { cfgId = dwTextID }; if (dwTextID > 0) { ResInBatMsgCfg cfgData = this.GetCfgData(item.cfgId); DebugHelper.Assert(cfgData != null, "custom shortcut ParseServerData cfgdata is null, cfgID:" + item.cfgId); if (cfgData != null) { item.configContent = cfgData.szContent; } } this.menuEntList.Add(item); } else if ((comdt_selfdefine_detail_chatinfo2.bChatType == 1) && !string.IsNullOrEmpty(StringHelper.BytesToString(comdt_selfdefine_detail_chatinfo2.stChatInfo.stSelfDefineStr.szContent))) { TabElement element2 = new TabElement(string.Empty); this.menuEntList.Add(element2); } } this.SyncData(this.menuEntList, this.lastMenuEntList); this.Print(this.menuEntList, "服务器解析出来的自定义数据"); } } }
public void On_InBattleMsg_ListElement_Click(CUIEvent uiEvent) { this.Show(false); int srcWidgetIndexInBelongedList = uiEvent.m_srcWidgetIndexInBelongedList; if ((srcWidgetIndexInBelongedList >= 0) && (srcWidgetIndexInBelongedList < Singleton <InBattleMsgMgr> .instance.inbatEntList.Count)) { TabElement element = Singleton <InBattleMsgMgr> .instance.inbatEntList[srcWidgetIndexInBelongedList]; if (element != null) { Player hostPlayer = Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer(); if (hostPlayer != null) { ResInBatMsgCfg cfgData = Singleton <InBattleMsgMgr> .instance.GetCfgData(element.cfgId); DebugHelper.Assert(cfgData != null, "InbattleMsgView cfg_data == null"); if (cfgData != null) { SLevelContext curLvelContext = Singleton <BattleLogic> .instance.GetCurLvelContext(); if (curLvelContext != null) { if (!Singleton <InBattleMsgMgr> .instance.ShouldBeThroughNet(curLvelContext)) { if ((element.cfgId >= 1) && (element.cfgId <= 15)) { CPlayerBehaviorStat.Plus((CPlayerBehaviorStat.BehaviorType)element.cfgId); } this.InnerHandle_InBat_PreConfigMsg((COM_INBATTLE_CHAT_TYPE)cfgData.bShowType, hostPlayer.CaptainId, element.cfgId, hostPlayer.PlayerUId); } else { if ((element.cfgId >= 1) && (element.cfgId <= 15)) { CPlayerBehaviorStat.Plus((CPlayerBehaviorStat.BehaviorType)element.cfgId); } InBattleMsgNetCore.SendInBattleMsg_PreConfig(element.cfgId, (COM_INBATTLE_CHAT_TYPE)cfgData.bShowType, hostPlayer.CaptainId); } if (this.m_cdButton != null) { ResInBatChannelCfg dataByKey = GameDataMgr.inBattleChannelDatabin.GetDataByKey((uint)cfgData.bInBatChannelID); if (dataByKey != null) { this.m_cdButton.StartCooldown(dataByKey.dwCdTime, null); } else { this.m_cdButton.StartCooldown(0xfa0, null); } } } } } } } }
public void ParseCfgData() { if (!int.TryParse(Singleton <CTextManager> .instance.GetText("InBat_Bubble_CDTime"), out this.InBat_Bubble_CDTime)) { DebugHelper.Assert(false, "---InBatMsg 教练你配的 InBat_Bubble_CDTime 好像不是整数哦, check out"); } ListView <TabElement> view = null; Dictionary <long, object> .Enumerator enumerator = GameDataMgr.inBattleMsgDatabin.GetEnumerator(); while (enumerator.MoveNext()) { view = null; KeyValuePair <long, object> current = enumerator.Current; ResInBatMsgCfg cfg = (ResInBatMsgCfg)current.Value; if (cfg != null) { string szChannelTitle = cfg.szChannelTitle; this.tabElements.TryGetValue(szChannelTitle, out view); if (view == null) { view = new ListView <TabElement>(); this.tabElements.Add(szChannelTitle, view); this.title_list.Add(szChannelTitle); } view.Add(new TabElement(cfg.dwID, cfg.szContent)); } } Dictionary <long, object> .Enumerator enumerator2 = GameDataMgr.inBattleHeroActDatabin.GetEnumerator(); while (enumerator2.MoveNext()) { KeyValuePair <long, object> pair2 = enumerator2.Current; ResInBatMsgHeroActCfg cfg2 = (ResInBatMsgHeroActCfg)pair2.Value; if (cfg2 != null) { DictionaryView <uint, ResInBatMsgHeroActCfg> view2 = null; this.heroActData.TryGetValue(cfg2.dwHeroID, out view2); if (view2 == null) { view2 = new DictionaryView <uint, ResInBatMsgHeroActCfg>(); this.heroActData.Add(cfg2.dwHeroID, view2); } if (!view2.ContainsKey(cfg2.dwActionID)) { view2.Add(cfg2.dwActionID, cfg2); } } } GameDataMgr.inBattleHeroActDatabin.Unload(); }
public void On_InBattleMsg_ListElement_Click(int index) { this.Show(false); TabElement element = this._get_current_info(this.TabIndex, index); if (element != null) { Player hostPlayer = Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer(); if (hostPlayer != null) { ResInBatMsgCfg cfgData = Singleton <InBattleMsgMgr> .instance.GetCfgData(element.cfgId); DebugHelper.Assert(cfgData != null, "InbattleMsgView cfg_data == null"); if (cfgData != null) { SLevelContext curLvelContext = Singleton <BattleLogic> .instance.GetCurLvelContext(); if (curLvelContext != null) { if (!this.ShouldBeThroughNet(curLvelContext)) { Singleton <InBattleMsgMgr> .instance.InnerHandle_InBatMsg((COM_INBATTLE_CHAT_TYPE)cfgData.bShowType, hostPlayer.CaptainId, element.cfgId, hostPlayer.PlayerUId); } else { InBattleMsgNetCore.SendInBattleMsg_PreConfig(element.cfgId, (COM_INBATTLE_CHAT_TYPE)cfgData.bShowType, hostPlayer.CaptainId); } if (Singleton <InBattleMsgMgr> .instance.m_cdButton != null) { ResInBatChannelCfg dataByKey = GameDataMgr.inBattleChannelDatabin.GetDataByKey(cfgData.bInBatChannelID); if (dataByKey != null) { Singleton <InBattleMsgMgr> .instance.m_cdButton.StartCooldown(dataByKey.dwCdTime); } else { Singleton <InBattleMsgMgr> .instance.m_cdButton.StartCooldown(0xfa0); } } } } } } }
public void UseDefaultShortcut() { this.menuEntList.Clear(); this.lastMenuEntList.Clear(); for (int i = 0; i < this.totalCount; i++) { ResShortcutDefault dataByKey = GameDataMgr.inBattleDefaultDatabin.GetDataByKey((long)(i + 1)); DebugHelper.Assert(dataByKey != null, "---shortcut id:" + (i + 1) + ", 找不到对应配置数据, jason 检查下"); if (dataByKey != null) { ResInBatMsgCfg cfg = GameDataMgr.inBattleMsgDatabin.GetDataByKey(dataByKey.dwConfigID); DebugHelper.Assert(cfg != null, "---shortcut dwConfigID:" + dataByKey.dwConfigID + ", 找不到对应配置数据, jason 检查下"); if (cfg != null) { this.menuEntList.Add(new TabElement(cfg.dwID, cfg.szContent)); this.lastMenuEntList.Add(new TabElement(cfg.dwID, cfg.szContent)); } } } }
public void InnerHandle_InBat_PreConfigMsg(COM_INBATTLE_CHAT_TYPE chatType, uint herocfgID, uint cfg_id, ulong ullUid) { ResInBatMsgHeroActCfg heroActCfg = Singleton <InBattleMsgMgr> .get_instance().GetHeroActCfg(herocfgID, cfg_id); ResInBatMsgCfg cfgData = Singleton <InBattleMsgMgr> .get_instance().GetCfgData(cfg_id); if (cfgData == null) { return; } if (heroActCfg != null) { InBattleMsgUT.ShowInBattleMsg(chatType, ullUid, herocfgID, heroActCfg.szContent, heroActCfg.szSound); } else { InBattleMsgUT.ShowInBattleMsg(chatType, ullUid, herocfgID, cfgData.szContent, cfgData.szSound); } if (chatType == 1 && Singleton <CBattleSystem> .get_instance().TheMinimapSys.CurMapType() == MinimapSys.EMapType.Mini) { Player playerByUid = Singleton <GamePlayerCenter> .get_instance().GetPlayerByUid(ullUid); ReadonlyContext <PoolObjHandle <ActorRoot> > allHeroes = playerByUid.GetAllHeroes(); for (int i = 0; i < allHeroes.get_Count(); i++) { ActorRoot handle = allHeroes.get_Item(i).get_handle(); if (handle != null && (long)handle.TheActorMeta.ConfigId == (long)((ulong)herocfgID)) { Camera currentCamera = Singleton <Camera_UI3D> .GetInstance().GetCurrentCamera(); if (currentCamera != null) { Vector2 sreenLoc = currentCamera.WorldToScreenPoint(handle.HudControl.GetSmallMapPointer_WorldPosition()); Singleton <CUIParticleSystem> .get_instance().AddParticle(cfgData.szMiniMapEffect, 2f, sreenLoc); } } } } }
public void ParseCfgData() { Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.InBatShortcut_OpenForm, new CUIEventManager.OnUIEventHandler(this.On_InBatMenu_OpenForm)); if (!int.TryParse(Singleton <CTextManager> .instance.GetText("InBat_Bubble_CDTime"), out InBattleShortcut.InBat_Bubble_CDTime)) { DebugHelper.Assert(false, "---InBatMsg 教练你配的 InBat_Bubble_CDTime 好像不是整数哦, check out"); } ListView <TabElement> view = null; Dictionary <long, object> .Enumerator enumerator = GameDataMgr.inBattleMsgDatabin.GetEnumerator(); while (enumerator.MoveNext()) { view = null; KeyValuePair <long, object> current = enumerator.Current; ResInBatMsgCfg cfg = (ResInBatMsgCfg)current.Value; if (cfg != null) { string szChannelTitle = cfg.szChannelTitle; this.tabElements.TryGetValue(szChannelTitle, out view); if (view == null) { view = new ListView <TabElement>(); this.tabElements.Add(szChannelTitle, view); this.title_list.Add(szChannelTitle); } TabElement item = new TabElement(cfg.dwID, cfg.szContent) { camp = cfg.bCampVisible }; view.Add(item); } } Dictionary <long, object> .Enumerator enumerator2 = GameDataMgr.inBattleHeroActDatabin.GetEnumerator(); while (enumerator2.MoveNext()) { KeyValuePair <long, object> pair2 = enumerator2.Current; ResInBatMsgHeroActCfg cfg2 = (ResInBatMsgHeroActCfg)pair2.Value; if (cfg2 != null) { DictionaryView <uint, ResInBatMsgHeroActCfg> view2 = null; this.heroActData.TryGetValue(cfg2.dwHeroID, out view2); if (view2 == null) { view2 = new DictionaryView <uint, ResInBatMsgHeroActCfg>(); this.heroActData.Add(cfg2.dwHeroID, view2); } if (!view2.ContainsKey(cfg2.dwActionID)) { view2.Add(cfg2.dwActionID, cfg2); } } } GameDataMgr.inBattleHeroActDatabin.Unload(); Dictionary <long, object> .Enumerator enumerator3 = GameDataMgr.inBattleDefaultDatabin.GetEnumerator(); while (enumerator3.MoveNext()) { KeyValuePair <long, object> pair3 = enumerator3.Current; ResShortcutDefault default2 = (ResShortcutDefault)pair3.Value; if (default2 != null) { DebugHelper.Assert(GameDataMgr.inBattleMsgDatabin.GetDataByKey(default2.dwConfigID) != null, "---jason 检查下 局内交流配置表中的默认配置sheet, 配置id:" + default2.dwConfigID); } } }
public void ParseCfgData() { Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.InBatShortcut_OpenForm, new CUIEventManager.OnUIEventHandler(this.On_InBatMenu_OpenForm)); if (!int.TryParse(Singleton <CTextManager> .get_instance().GetText("InBat_Bubble_CDTime"), ref InBattleShortcut.InBat_Bubble_CDTime)) { DebugHelper.Assert(false, "---InBatMsg 教练你配的 InBat_Bubble_CDTime 好像不是整数哦, check out"); } ListView <TabElement> listView = null; Dictionary <long, object> .Enumerator enumerator = GameDataMgr.inBattleMsgDatabin.GetEnumerator(); while (enumerator.MoveNext()) { listView = null; KeyValuePair <long, object> current = enumerator.get_Current(); ResInBatMsgCfg resInBatMsgCfg = (ResInBatMsgCfg)current.get_Value(); if (resInBatMsgCfg != null) { string szChannelTitle = resInBatMsgCfg.szChannelTitle; this.tabElements.TryGetValue(szChannelTitle, ref listView); if (listView == null) { listView = new ListView <TabElement>(); this.tabElements.Add(szChannelTitle, listView); this.title_list.Add(szChannelTitle); } TabElement tabElement = new TabElement(resInBatMsgCfg.dwID, resInBatMsgCfg.szContent); tabElement.camp = resInBatMsgCfg.bCampVisible; listView.Add(tabElement); } } Dictionary <long, object> .Enumerator enumerator2 = GameDataMgr.inBattleHeroActDatabin.GetEnumerator(); while (enumerator2.MoveNext()) { KeyValuePair <long, object> current2 = enumerator2.get_Current(); ResInBatMsgHeroActCfg resInBatMsgHeroActCfg = (ResInBatMsgHeroActCfg)current2.get_Value(); if (resInBatMsgHeroActCfg != null) { DictionaryView <uint, ResInBatMsgHeroActCfg> dictionaryView = null; this.heroActData.TryGetValue(resInBatMsgHeroActCfg.dwHeroID, ref dictionaryView); if (dictionaryView == null) { dictionaryView = new DictionaryView <uint, ResInBatMsgHeroActCfg>(); this.heroActData.Add(resInBatMsgHeroActCfg.dwHeroID, dictionaryView); } if (!dictionaryView.ContainsKey(resInBatMsgHeroActCfg.dwActionID)) { dictionaryView.Add(resInBatMsgHeroActCfg.dwActionID, resInBatMsgHeroActCfg); } } } GameDataMgr.inBattleHeroActDatabin.Unload(); Dictionary <long, object> .Enumerator enumerator3 = GameDataMgr.inBattleDefaultDatabin.GetEnumerator(); while (enumerator3.MoveNext()) { KeyValuePair <long, object> current3 = enumerator3.get_Current(); ResShortcutDefault resShortcutDefault = (ResShortcutDefault)current3.get_Value(); if (resShortcutDefault != null) { ResInBatMsgCfg dataByKey = GameDataMgr.inBattleMsgDatabin.GetDataByKey(resShortcutDefault.dwConfigID); DebugHelper.Assert(dataByKey != null, "---jason 检查下 局内交流配置表中的默认配置sheet, 配置id:" + resShortcutDefault.dwConfigID); } } }
public void Send_Config_Chat(int index) { if (this.m_cdButton == null || this.m_cdButton.startCooldownTimestamp != 0uL) { return; } if (index < 0 || index >= Singleton <InBattleMsgMgr> .get_instance().inbatEntList.get_Count()) { return; } if (Singleton <InBattleMsgMgr> .get_instance().inbatEntList.get_Count() == 0) { Singleton <InBattleMsgMgr> .get_instance().BuildInBatEnt(); } TabElement tabElement = Singleton <InBattleMsgMgr> .get_instance().inbatEntList.get_Item(index); if (tabElement == null) { return; } Player hostPlayer = Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer(); if (hostPlayer == null) { return; } ResInBatMsgCfg cfgData = Singleton <InBattleMsgMgr> .get_instance().GetCfgData(tabElement.cfgId); DebugHelper.Assert(cfgData != null, "InbattleMsgView cfg_data == null"); if (cfgData == null) { return; } SLevelContext curLvelContext = Singleton <BattleLogic> .get_instance().GetCurLvelContext(); if (curLvelContext == null) { return; } if (!Singleton <InBattleMsgMgr> .get_instance().ShouldBeThroughNet(curLvelContext)) { if (tabElement.cfgId >= 1u && tabElement.cfgId <= 15u) { CPlayerBehaviorStat.Plus((CPlayerBehaviorStat.BehaviorType)tabElement.cfgId); } this.InnerHandle_InBat_PreConfigMsg(cfgData.bShowType, hostPlayer.CaptainId, tabElement.cfgId, hostPlayer.PlayerUId); } else { if (tabElement.cfgId >= 1u && tabElement.cfgId <= 15u) { CPlayerBehaviorStat.Plus((CPlayerBehaviorStat.BehaviorType)tabElement.cfgId); } InBattleMsgNetCore.SendInBattleMsg_PreConfig(tabElement.cfgId, cfgData.bShowType, hostPlayer.CaptainId); } if (this.m_cdButton != null) { ResInBatChannelCfg dataByKey = GameDataMgr.inBattleChannelDatabin.GetDataByKey((uint)cfgData.bInBatChannelID); if (dataByKey != null) { this.m_cdButton.StartCooldown(dataByKey.dwCdTime, null); } else { this.m_cdButton.StartCooldown(4000u, null); } } }