public override void Wound(Units attacker, float damage) { if (damage > 0f) { return; } if (this.fWarningTimer < 0f && attacker != null && attacker.isHero) { this.fWarningTimer = 2f; bool flag = false; IList <Units> mapUnits = MapManager.Instance.GetMapUnits(attacker.TeamType, global::TargetTag.Monster); if (mapUnits != null) { for (int i = 0; i < mapUnits.Count; i++) { if (mapUnits[i] != null && (mapUnits[i].transform.position - base.transform.position).sqrMagnitude < 100f && TagManager.CheckTag(mapUnits[i], global::TargetTag.CreepsAndMinions) && mapUnits[i].UnitType != UnitType.SummonMonster) { flag = true; break; } } } if (!flag) { if (base.isLocalUnit) { UIMessageBox.ShowTowerWoundWarn(this); Singleton <MiniMapView> .Instance.ShowTowerMapWarn(this); } if (this.m_effectFangtouta != null && !this.m_effectFangtouta.isDestroyed) { this.m_effectFangtouta.Destroy(); } if (base.TeamType == TeamType.LM) { this.m_effectFangtouta = ActionManager.PlayEffect("Fx_Fangtouta_LM", this, null, null, true, string.Empty, null); } else { this.m_effectFangtouta = ActionManager.PlayEffect("Fx_Fangtouta_BL", this, null, null, true, string.Empty, null); } } } base.Wound(attacker, damage); this._DurationWoundMgr.OnWound(attacker, damage); if (this._towerController) { this._towerController.OnDamage(attacker, damage); } }