public void ExecCommand(uint senderPlayerID, uint heroID, int signalID, int worldPositionX, int worldPositionY, int worldPositionZ, byte bAlice = 0, byte elementType = 0, uint targetHeroID = 0) { if (this.m_useSignalButton && (this.m_formScript != null)) { Player hostPlayer = Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer(); Player player = Singleton <GamePlayerCenter> .GetInstance().GetPlayer(senderPlayerID); if (((hostPlayer != null) && (player != null)) && (hostPlayer.PlayerCamp == player.PlayerCamp)) { bool isHostPlayer = hostPlayer == player; ResSignalInfo dataByKey = GameDataMgr.signalDatabin.GetDataByKey((long)signalID); if (dataByKey == null) { DebugHelper.Assert(dataByKey != null, "ExecCommand signalInfo is null, check out..."); } else { uint cDTime = this.GetCDTime(dataByKey); ulong logicFrameTick = Singleton <FrameSynchr> .GetInstance().LogicFrameTick; CPlayerSignalCooldown cooldown = null; this.m_playerSignalCooldowns.TryGetValue(senderPlayerID, out cooldown); if (cooldown != null) { if (((uint)(logicFrameTick - cooldown.m_lastSignalExecuteTimestamp)) < cooldown.m_cooldownTime) { return; } cooldown.m_lastSignalExecuteTimestamp = logicFrameTick; cooldown.m_cooldownTime = cDTime; } else { cooldown = new CPlayerSignalCooldown(logicFrameTick, cDTime); this.m_playerSignalCooldowns.Add(senderPlayerID, cooldown); } if (isHostPlayer && (this.m_signalButtons != null)) { for (int i = 0; i < this.m_signalButtons.Length; i++) { if (this.m_signalButtons[i] != null) { this.m_signalButtons[i].StartCooldown(cDTime); } } } bool bSmall = Singleton <CBattleSystem> .instance.TheMinimapSys.CurMapType() == MinimapSys.EMapType.Mini; this.PlaySignalTipsSound(elementType, bAlice, targetHeroID); bool bUseCfgSound = elementType == 0; CSignal item = new CSignal(senderPlayerID, signalID, worldPositionX, worldPositionY, worldPositionZ, !bSmall ? this.m_signalInUIContainer_big : this.m_signalInUIContainer_small, bSmall, bUseCfgSound); item.Initialize(this.m_formScript, dataByKey); this.m_signals.Add(item); CSignalTips tips = new CSignalTips(signalID, heroID, isHostPlayer, bAlice, elementType, targetHeroID); this.Add_SignalTip(tips); } } } }
public void Initialize(CUIFormScript formScript) { this.m_signalInfo = GameDataMgr.signalDatabin.GetDataByKey((long)this.m_signalID); if (this.m_signalInfo != null) { if (this.m_buttonImage != null) { this.m_buttonImage.SetSprite(CUIUtility.s_battleSignalPrefabDir + ((this.m_signalInfo.bSignalType != 0) ? "Signal_Btn_Voice.prefab" : "Signal_Btn_Normal.prefab"), formScript, true, false, false); } if (this.m_iconImage != null) { this.m_iconImage.SetSprite(StringHelper.UTF8BytesToString(ref this.m_signalInfo.szUIIcon), formScript, true, false, false); } if (this.m_highLightImage != null) { this.m_highLightImage.SetSprite(CUIUtility.s_battleSignalPrefabDir + ((this.m_signalInfo.bSignalType != 0) ? "Signal_Btn_Voice_Highlight.prefab" : "Signal_Btn_Normal_Highlight.prefab"), formScript, true, false, false); } if (this.m_uiEventScript != null) { this.m_uiEventScript.m_onClickEventID = enUIEventID.Battle_OnSignalButtonClicked; this.m_uiEventScript.m_onClickEventParams.tag = this.m_signalID; } this.SetHighLight(false); this.StartCooldown(0); } }
private uint GetCDTime(ResSignalInfo signalInfo) { uint num = (uint)(signalInfo.bCooldownTime * 0x3e8); if (Singleton <BattleLogic> .GetInstance().GetCurLvelContext().m_mapID == CBattleGuideManager.GuideLevelID5v5) { num = 0x7d0; } return(num); }
private uint GetCDTime(ResSignalInfo signalInfo) { uint result = (uint)signalInfo.bCooldownTime * 1000u; SLevelContext curLvelContext = Singleton <BattleLogic> .GetInstance().GetCurLvelContext(); if (CBattleGuideManager.Is5v5GuideLevel(curLvelContext.m_mapID)) { result = 2000u; } return(result); }
public static void Preload(ref ActorPreloadTab preloadTab) { ResSignalInfo info = null; foreach (KeyValuePair <long, object> pair in GameDataMgr.signalDatabin) { info = (ResSignalInfo)pair.Value; if ((info != null) && !string.IsNullOrEmpty(info.szRealEffect)) { preloadTab.AddSprite(info.szRealEffect); } } }
public void ExecCommand(int signalID, Vector2 localPosition, Quaternion localRotation) { if (this.m_formScript == null) { return; } ResSignalInfo dataByKey = GameDataMgr.signalDatabin.GetDataByKey((long)signalID); bool bSmall = Singleton <CBattleSystem> .instance.TheMinimapSys.CurMapType() == MinimapSys.EMapType.Mini; CSignal cSignal = new CSignal(signalID, localPosition, true, bSmall, true, true, localRotation); cSignal.Initialize(this.m_formScript, dataByKey); this.m_signals.Add(cSignal); }
public static void Preload(ref ActorPreloadTab preloadTab) { GameDataMgr.signalDatabin.Reload(); Dictionary <long, object> .Enumerator enumerator = GameDataMgr.signalDatabin.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <long, object> current = enumerator.get_Current(); ResSignalInfo resSignalInfo = (ResSignalInfo)current.get_Value(); if (resSignalInfo != null && !string.IsNullOrEmpty(resSignalInfo.szRealEffect)) { preloadTab.AddSprite(resSignalInfo.szRealEffect); } if (resSignalInfo != null && !string.IsNullOrEmpty(resSignalInfo.szUIIcon)) { preloadTab.AddSprite(resSignalInfo.szUIIcon); } } }
public void Initialize(CUIFormScript formScript, ResSignalInfo signalInfo) { if (this.m_playerID > 0) { Player player = Singleton <GamePlayerCenter> .GetInstance().GetPlayer(this.m_playerID); if (player != null) { this.m_signalRelatedActor = player.Captain; } } this.m_signalInfo = signalInfo; if ((this.m_signalInfo == null) || (formScript == null)) { this.m_duringTime = 0f; this.m_maxDuringTime = 0f; } else { this.m_duringTime = 0f; this.m_maxDuringTime = this.m_signalInfo.bTime; if ((this.m_signalInfo.bSignalType == 0) && !string.IsNullOrEmpty(this.m_signalInfo.szSceneEffect)) { this.m_effectInScene = MonoSingleton <SceneMgr> .GetInstance().GetPooledGameObjLOD(this.m_signalInfo.szSceneEffect, true, SceneObjType.Temp, this.m_worldPosition); this.m_effectInScene.CustomSetActive(true); } if ((this.m_signalInUIContainer != null) && !string.IsNullOrEmpty(this.m_signalInfo.szUIIcon)) { this.m_signalInUISequence = this.m_signalInUIContainer.GetElement(); GameObject element = this.m_signalInUIContainer.GetElement(this.m_signalInUISequence); if (element != null) { Image component = element.GetComponent <Image>(); if (component != null) { component.SetSprite(this.m_signalInfo.szUIIcon, formScript, true, false, false); component.color = new Color(1f, 1f, 1f, (this.m_signalInfo.bSignalType != 1) ? ((float)1) : ((float)0)); } Vector3 worldPosition = this.m_worldPosition; if ((this.m_signalInfo.bSignalType == 1) && (this.m_signalRelatedActor != 0)) { worldPosition = (Vector3)this.m_signalRelatedActor.handle.location; } if (this.bSmall) { (element.transform as RectTransform).anchoredPosition = new Vector2(worldPosition.x * Singleton <CBattleSystem> .GetInstance().world_UI_Factor_Small.x, worldPosition.z * Singleton <CBattleSystem> .GetInstance().world_UI_Factor_Small.y); } else { (element.transform as RectTransform).anchoredPosition = new Vector2(worldPosition.x * Singleton <CBattleSystem> .GetInstance().world_UI_Factor_Big.x, worldPosition.z * Singleton <CBattleSystem> .GetInstance().world_UI_Factor_Big.y); } if ((!string.IsNullOrEmpty(this.m_signalInfo.szRealEffect) && (this.m_signalInUISequence >= 0)) && (Singleton <CBattleSystem> .instance.TheMinimapSys.CurMapType() == MinimapSys.EMapType.Mini)) { Vector2 sreenLoc = CUIUtility.WorldToScreenPoint(formScript.GetCamera(), element.transform.position); this.m_signalInUIEffect = Singleton <CUIParticleSystem> .instance.AddParticle(this.m_signalInfo.szRealEffect, (float)this.m_signalInfo.bTime, sreenLoc); } } } if (this.bUseCfgSound) { string str = StringHelper.UTF8BytesToString(ref this.m_signalInfo.szSound); if (!string.IsNullOrEmpty(str)) { Singleton <CSoundManager> .GetInstance().PlayBattleSound2D(str); } } } }
private void Show(CSignalTips data, CUIFormScript formScript) { if (data == null) { return; } this.signal_node.CustomSetActive(true); this.inbattlemsg_node.CustomSetActive(false); ResHeroCfgInfo dataByKey = GameDataMgr.heroDatabin.GetDataByKey(data.m_heroID); if (dataByKey == null) { return; } this.SetHeroHeadIcon(this.leftIcon.gameObject.GetComponent <Image>(), formScript, dataByKey); string text = data.m_isHostPlayer ? CSignalTipShower.S_Bg_Green : CSignalTipShower.S_Bg_Blue; if (this.bg_icon == null) { return; } Image component = this.bg_icon.GetComponent <Image>(); if (component != null && !string.IsNullOrEmpty(text)) { component.SetSprite(text, formScript, true, false, false, false); } ResSignalInfo dataByKey2 = GameDataMgr.signalDatabin.GetDataByKey((long)data.m_signalID); if (dataByKey2 == null) { return; } this.signal_icon.CustomSetActive(true); if (this.signal_icon == null) { return; } Image component2 = this.signal_icon.GetComponent <Image>(); if (component2 != null) { component2.SetSprite(dataByKey2.szUIIcon, formScript, true, false, false, false); } if (this.signal_txt != null) { this.signal_txt.set_text(dataByKey2.szText); } if (data.m_elementType >= 1) { Image component3 = this.rightIcon.GetComponent <Image>(); if (component3 == null) { return; } switch (data.m_elementType) { case 1: component3.SetSprite(CSignalTipShower.S_kn_Tower_Icon, formScript, true, false, false, false); break; case 2: component3.SetSprite(CSignalTipShower.S_Base_blue_Icon, formScript, true, false, false, false); break; case 3: { ResHeroCfgInfo dataByKey3 = GameDataMgr.heroDatabin.GetDataByKey(data.m_targetHeroID); if (dataByKey3 == null) { return; } this.SetHeroHeadIcon(component3, formScript, dataByKey3); break; } case 4: { SLevelContext curLvelContext = Singleton <BattleLogic> .instance.GetCurLvelContext(); if (curLvelContext != null && curLvelContext.IsFireHolePlayMode()) { component3.SetSprite(CSignalTipShower.S_kn_dragon_Icon_3v3, formScript, true, false, false, false); } else { component3.SetSprite(KillNotify.soldier_bigdragon_icon, formScript, true, false, false, false); } break; } case 5: { SLevelContext curLvelContext2 = Singleton <BattleLogic> .instance.GetCurLvelContext(); if (curLvelContext2 != null && curLvelContext2.IsFireHolePlayMode()) { component3.SetSprite(CSignalTipShower.S_kn_dragon_Icon_3v3, formScript, true, false, false, false); } else { component3.SetSprite(CSignalTipShower.S_kn_dragon_Icon, formScript, true, false, false, false); } break; } case 6: component3.SetSprite(CSignalTipShower.S_kn_dragon_Icon_3v3, formScript, true, false, false, false); break; default: return; } this.rightIcon.CustomSetActive(true); } else { this.rightIcon.CustomSetActive(false); } }
public void ExecCommand(PoolObjHandle <ActorRoot> followActor, uint senderPlayerID, uint heroID, int signalID, byte bAlice = 0, byte elementType = 0, uint targetObjID = 0u, uint targetHeroID = 0u) { if (!this.m_useSignalButton || this.m_formScript == null) { return; } Player hostPlayer = Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer(); Player player = Singleton <GamePlayerCenter> .GetInstance().GetPlayer(senderPlayerID); if (hostPlayer == null || player == null) { return; } if (hostPlayer.PlayerCamp != player.PlayerCamp) { return; } bool flag = hostPlayer == player; ResSignalInfo dataByKey = GameDataMgr.signalDatabin.GetDataByKey((long)signalID); if (dataByKey == null) { DebugHelper.Assert(dataByKey != null, "ExecCommand signalInfo is null, check out..."); return; } uint cDTime = this.GetCDTime(dataByKey); ulong logicFrameTick = Singleton <FrameSynchr> .GetInstance().LogicFrameTick; SignalPanel.CPlayerSignalCooldown cPlayerSignalCooldown = null; this.m_playerSignalCooldowns.TryGetValue(senderPlayerID, ref cPlayerSignalCooldown); if (cPlayerSignalCooldown != null) { if ((uint)(logicFrameTick - cPlayerSignalCooldown.m_lastSignalExecuteTimestamp) < cPlayerSignalCooldown.m_cooldownTime) { return; } cPlayerSignalCooldown.m_lastSignalExecuteTimestamp = logicFrameTick; cPlayerSignalCooldown.m_cooldownTime = cDTime; } else { cPlayerSignalCooldown = new SignalPanel.CPlayerSignalCooldown(logicFrameTick, cDTime); this.m_playerSignalCooldowns.Add(senderPlayerID, cPlayerSignalCooldown); } if (flag && this.m_signalButtons != null) { for (int i = 0; i < this.m_signalButtons.Length; i++) { if (this.m_signalButtons[i] != null) { this.m_signalButtons[i].StartCooldown(cDTime); } } } bool bSmall = Singleton <CBattleSystem> .instance.TheMinimapSys.CurMapType() == MinimapSys.EMapType.Mini; this.PlaySignalTipsSound(elementType, bAlice, targetHeroID); bool bUseCfgSound = elementType == 0; if (followActor && followActor.handle.Visible) { CSignal cSignal = new CSignal(followActor, signalID, true, bSmall, bUseCfgSound); cSignal.Initialize(this.m_formScript, dataByKey); this.m_signals.Add(cSignal); } CSignalTips obj = new CSignalTips(signalID, heroID, flag, bAlice, elementType, targetHeroID); this.Add_SignalTip(obj); }
public void ExecCommand_4_SignalPanel_Sign(PoolObjHandle <ActorRoot> sender, uint senderPlayerID, uint heroID, int signalID, int worldPositionX, int worldPositionY, int worldPositionZ) { if (!this.m_useSignalButton || this.m_formScript == null) { return; } Player hostPlayer = Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer(); Player player = Singleton <GamePlayerCenter> .GetInstance().GetPlayer(senderPlayerID); if (hostPlayer == null || player == null) { return; } if (hostPlayer.PlayerCamp != player.PlayerCamp) { return; } bool flag = hostPlayer == player; ResSignalInfo dataByKey = GameDataMgr.signalDatabin.GetDataByKey((long)signalID); if (dataByKey == null) { DebugHelper.Assert(dataByKey != null, "ExecCommand signalInfo is null, check out..."); return; } uint cDTime = this.GetCDTime(dataByKey); ulong logicFrameTick = Singleton <FrameSynchr> .GetInstance().LogicFrameTick; SignalPanel.CPlayerSignalCooldown cPlayerSignalCooldown = null; this.m_playerSignalCooldowns.TryGetValue(senderPlayerID, ref cPlayerSignalCooldown); if (cPlayerSignalCooldown != null) { if ((uint)(logicFrameTick - cPlayerSignalCooldown.m_lastSignalExecuteTimestamp) < cPlayerSignalCooldown.m_cooldownTime) { return; } cPlayerSignalCooldown.m_lastSignalExecuteTimestamp = logicFrameTick; cPlayerSignalCooldown.m_cooldownTime = cDTime; } else { cPlayerSignalCooldown = new SignalPanel.CPlayerSignalCooldown(logicFrameTick, cDTime); this.m_playerSignalCooldowns.Add(senderPlayerID, cPlayerSignalCooldown); } if (flag && this.m_signalButtons != null) { for (int i = 0; i < this.m_signalButtons.Length; i++) { if (this.m_signalButtons[i] != null) { this.m_signalButtons[i].StartCooldown(cDTime); } } } Singleton <CSoundManager> .GetInstance().PlayBattleSound2D(dataByKey.szSound); MiniMapEffectModule miniMapEffectModule = Singleton <CBattleSystem> .instance.TheMinimapSys.miniMapEffectModule; if (miniMapEffectModule != null) { Vector3 vector = new Vector3((float)worldPositionX, (float)worldPositionY, (float)worldPositionZ); GameObject gameObject = miniMapEffectModule.PlaySceneEffect(dataByKey.szSceneEffect, (int)dataByKey.bTime * 1000, vector); if (signalID == 202 && gameObject != null) { TextMesh component = gameObject.transform.FindChild("text").GetComponent <TextMesh>(); if (component != null) { ResHeroCfgInfo dataByKey2 = GameDataMgr.heroDatabin.GetDataByKey(heroID); if (dataByKey2 == null) { return; } component.text = dataByKey2.szName; component.gameObject.CustomSetActive(true); } Transform transform = gameObject.transform.FindChild("JianTou"); Vector3 forward = sender.handle.gameObject.transform.position - vector; forward.Normalize(); transform.forward = forward; if (Singleton <BattleLogic> .instance.m_LevelContext.m_isCameraFlip) { component.transform.rotation = Quaternion.AngleAxis(180f, Vector3.up); } } if (signalID == 203 && Singleton <BattleLogic> .instance.m_LevelContext.m_isCameraFlip) { gameObject.transform.rotation = Quaternion.AngleAxis(180f, Vector3.up); } if (!string.IsNullOrEmpty(dataByKey.szRealEffect)) { bool bMiniMap = false; MinimapSys theMinimapSys = Singleton <CBattleSystem> .GetInstance().TheMinimapSys; if (theMinimapSys != null) { bMiniMap = (theMinimapSys.CurMapType() == MinimapSys.EMapType.Mini); } Vector2 screenPos = MiniMapSysUT.CalcScreenPosInMapByWorldPos(ref vector, bMiniMap); miniMapEffectModule.PlayScreenPosEffect(dataByKey.szRealEffect, (float)((int)dataByKey.bTime * 1000), screenPos); } } }
private void Show(CSignalTips data, CUIFormScript formScript) { if (data != null) { this.signal_node.CustomSetActive(true); this.inbattlemsg_node.CustomSetActive(false); ResHeroCfgInfo dataByKey = GameDataMgr.heroDatabin.GetDataByKey(data.m_heroID); if (dataByKey == null) { return; } this.SetHeroHeadIcon(this.leftIcon.gameObject.GetComponent <Image>(), formScript, dataByKey); string str = !data.m_isHostPlayer ? S_Bg_Blue : S_Bg_Green; if (this.bg_icon == null) { return; } Image component = this.bg_icon.GetComponent <Image>(); if ((component != null) && !string.IsNullOrEmpty(str)) { component.SetSprite(str, formScript, true, false, false); } ResSignalInfo info2 = GameDataMgr.signalDatabin.GetDataByKey(data.m_signalID); if (info2 == null) { return; } this.signal_icon.CustomSetActive(true); if (this.signal_icon == null) { return; } Image image = this.signal_icon.GetComponent <Image>(); if (image != null) { image.SetSprite(info2.szUIIcon, formScript, true, false, false); } if (this.signal_txt != null) { this.signal_txt.text = info2.szText; } if (data.m_elementType < 1) { this.rightIcon.CustomSetActive(false); return; } Image image3 = this.rightIcon.GetComponent <Image>(); if (image3 == null) { return; } switch (data.m_elementType) { case 1: image3.SetSprite(S_kn_Tower_Icon, formScript, true, false, false); goto Label_021B; case 2: image3.SetSprite(S_Base_blue_Icon, formScript, true, false, false); goto Label_021B; case 3: { ResHeroCfgInfo heroCfgInfo = GameDataMgr.heroDatabin.GetDataByKey(data.m_targetHeroID); if (heroCfgInfo != null) { this.SetHeroHeadIcon(image3, formScript, heroCfgInfo); goto Label_021B; } return; } case 4: image3.SetSprite(S_Dragon_big_Icon, formScript, true, false, false); goto Label_021B; case 5: image3.SetSprite(S_Dragon_small_Icon, formScript, true, false, false); goto Label_021B; case 6: image3.SetSprite(S_kn_dragon_Icon, formScript, true, false, false); goto Label_021B; } } return; Label_021B: this.rightIcon.CustomSetActive(true); }
public void Initialize(CUIFormScript formScript, ResSignalInfo signalInfo) { if (this.m_playerID > 0u) { Player player = Singleton <GamePlayerCenter> .GetInstance().GetPlayer(this.m_playerID); if (player != null) { this.m_signalRelatedActor = player.Captain; } } this.m_signalInfo = signalInfo; if (this.m_signalInfo == null || formScript == null) { this.m_duringTime = 0f; this.m_maxDuringTime = 0f; return; } this.m_duringTime = 0f; this.m_maxDuringTime = (float)this.m_signalInfo.bTime; if (this.m_signalInfo.bSignalType == 0 && !string.IsNullOrEmpty(this.m_signalInfo.szSceneEffect)) { this.m_effectInScene = MonoSingleton <SceneMgr> .GetInstance().GetPooledGameObjLOD(this.m_signalInfo.szSceneEffect, true, SceneObjType.Temp, this.m_worldPosition); this.m_effectInScene.CustomSetActive(true); } if (this.m_bUseSignal && !string.IsNullOrEmpty(this.m_signalInfo.szUIIcon)) { if (this.m_signalInUi == null) { this.m_signalInUi = MiniMapSysUT.GetSignalGameObject(true); } if (this.m_signalInUi != null) { Vector3 vector = this.m_worldPosition; if (this.m_signalInfo.bSignalType == 1 && this.m_signalRelatedActor) { vector = (Vector3)this.m_signalRelatedActor.get_handle().location; } float x; float y; this.m_signalInUi.transform.position = MiniMapSysUT.Set3DUIWorldPos_ByScreenPoint(ref vector, true, out x, out y); if (!string.IsNullOrEmpty(this.m_signalInfo.szRealEffect) && this.m_signalInUi != null && Singleton <CBattleSystem> .get_instance().TheMinimapSys.CurMapType() == MinimapSys.EMapType.Mini) { Vector2 vector2 = new Vector2(x, y); if (Singleton <CBattleSystem> .get_instance().FightForm.GetSignalPanel().CheckSignalPositionValid(vector2)) { this.m_signalInUIEffect = Singleton <CUIParticleSystem> .get_instance().AddParticle(this.m_signalInfo.szRealEffect, (float)this.m_signalInfo.bTime, vector2); } } } } if (this.bUseCfgSound) { string text = StringHelper.UTF8BytesToString(ref this.m_signalInfo.szSound); if (!string.IsNullOrEmpty(text)) { Singleton <CSoundManager> .GetInstance().PlayBattleSound2D(text); } } }
public void ExecCommand(uint playerID, uint heroID, int signalID, int worldPositionX, int worldPositionY, int worldPositionZ, byte bAlice = 0, byte elementType = 0, uint targetObjID = 0, uint targetHeroID = 0) { if (this.m_useSignalButton && (this.m_formScript != null)) { uint cooldownTime = 0x1388; ResSignalInfo dataByKey = GameDataMgr.signalDatabin.GetDataByKey(signalID); if (dataByKey == null) { DebugHelper.Assert(dataByKey != null, "ExecCommand signalInfo is null, check out..."); } else { if (dataByKey != null) { cooldownTime = (uint)(dataByKey.bCooldownTime * 0x3e8); } if (Singleton <BattleLogic> .GetInstance().GetCurLvelContext().iLevelID == CBattleGuideManager.GuideLevelID5v5) { cooldownTime = 0x7d0; } ulong logicFrameTick = Singleton <FrameSynchr> .GetInstance().LogicFrameTick; CPlayerSignalCooldown cooldown = null; this.m_playerSignalCooldowns.TryGetValue(playerID, out cooldown); if (cooldown != null) { if (((uint)(logicFrameTick - cooldown.m_lastSignalExecuteTimestamp)) < cooldown.m_cooldownTime) { return; } cooldown.m_lastSignalExecuteTimestamp = logicFrameTick; cooldown.m_cooldownTime = cooldownTime; } else { cooldown = new CPlayerSignalCooldown(logicFrameTick, cooldownTime); this.m_playerSignalCooldowns.Add(playerID, cooldown); } Player hostPlayer = Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer(); Player player = Singleton <GamePlayerCenter> .GetInstance().GetPlayer(playerID); if (((hostPlayer != null) && (player != null)) && (hostPlayer.PlayerCamp == player.PlayerCamp)) { uint num4; if ((hostPlayer == player) && (this.m_signalButtons != null)) { for (int i = 0; i < this.m_signalButtons.Length; i++) { if (this.m_signalButtons[i] != null) { this.m_signalButtons[i].StartCooldown(cooldownTime); } } } bool bSmall = Singleton <CBattleSystem> .instance.GetMinimapSys().CurMapType() == MinimapSys.EMapType.Mini; uint num5 = 0; if (targetObjID == 0) { num4 = playerID; num5 = heroID; } else { num4 = targetObjID; num5 = targetHeroID; } this.PlaySignalTipsSound(elementType, bAlice, targetHeroID); bool bFollow = elementType == 3; bool bUseCfgSound = elementType == 0; CSignal item = new CSignal(num4, signalID, num5, worldPositionX, worldPositionY, worldPositionZ, !bSmall ? this.m_signalInUIContainer_big : this.m_signalInUIContainer_small, this.m_signalSrcHeroNameContainer, bSmall, bFollow, bUseCfgSound, (MinimapSys.ElementType)elementType); item.Initialize(this.m_formScript); this.m_signals.Add(item); CSignalTips tips = new CSignalTips(signalID, heroID, hostPlayer == player, bAlice, elementType, targetHeroID); this.Add_SignalTip(tips); } } } }
private void Show(CSignalTips data, CUIFormScript formScript) { if (data == null) { return; } this.signal_node.CustomSetActive(true); this.inbattlemsg_node.CustomSetActive(false); ResHeroCfgInfo dataByKey = GameDataMgr.heroDatabin.GetDataByKey(data.m_heroID); if (dataByKey == null) { return; } this.SetHeroHeadIcon(this.leftIcon.gameObject.GetComponent <Image>(), formScript, dataByKey); string text = (!data.m_isHostPlayer) ? CSignalTipShower.S_Bg_Blue : CSignalTipShower.S_Bg_Green; if (this.bg_icon == null) { return; } Image component = this.bg_icon.GetComponent <Image>(); if (component != null && !string.IsNullOrEmpty(text)) { component.SetSprite(text, formScript, true, false, false, false); } ResSignalInfo dataByKey2 = GameDataMgr.signalDatabin.GetDataByKey((long)data.m_signalID); if (dataByKey2 == null) { return; } this.signal_icon.CustomSetActive(true); if (this.signal_icon == null) { return; } Image component2 = this.signal_icon.GetComponent <Image>(); if (component2 != null) { component2.SetSprite(dataByKey2.szUIIcon, formScript, true, false, false, false); } if (this.signal_txt != null) { this.signal_txt.text = dataByKey2.szText; } if (data.m_elementType >= 1) { Image component3 = this.rightIcon.GetComponent <Image>(); if (component3 == null) { return; } switch (data.m_elementType) { case 1: component3.SetSprite(CSignalTipShower.S_kn_Tower_Icon, formScript, true, false, false, false); break; case 2: component3.SetSprite(CSignalTipShower.S_Base_blue_Icon, formScript, true, false, false, false); break; case 3: { ResHeroCfgInfo dataByKey3 = GameDataMgr.heroDatabin.GetDataByKey(data.m_targetHeroID); if (dataByKey3 == null) { return; } this.SetHeroHeadIcon(component3, formScript, dataByKey3); break; } case 4: component3.SetSprite(CSignalTipShower.S_Dragon_big_Icon, formScript, true, false, false, false); break; case 5: component3.SetSprite(CSignalTipShower.S_kn_dragon_Icon, formScript, true, false, false, false); break; case 6: component3.SetSprite(CSignalTipShower.S_kn_dragon_Icon, formScript, true, false, false, false); break; default: return; } this.rightIcon.CustomSetActive(true); } else { this.rightIcon.CustomSetActive(false); } }