| | |
| | | [SerializeField] List<ArenaHeroHead> enemyHeroHeads; |
| | | |
| | | [SerializeField] TextEx txtWaveInfo; |
| | | |
| | | public TotalDamageDisplayer totalDamageDisplayer; |
| | | |
| | | public SkillTips skillTipsRed; |
| | | public SkillTips skillTipsBlue; |
| | | |
| | | // 生命周期 |
| | | protected override void InitComponent() |
| | | { |
| | |
| | | MainWin.TabChangeEvent += OnTabChangeEvent; |
| | | BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField; |
| | | EventBroadcast.Instance.AddListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken); |
| | | EventBroadcast.Instance.AddListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnCastSkill); |
| | | EventBroadcast.Instance.AddListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd); |
| | | BattleManager.Instance.storyBattleField.IsPause = true; |
| | | bool isOpenBattleChangeTab = IsOpenBattleChangeTab(); |
| | |
| | | MainWin.TabChangeEvent -= OnTabChangeEvent; |
| | | BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField; |
| | | EventBroadcast.Instance.RemoveListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken); |
| | | EventBroadcast.Instance.RemoveListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnCastSkill); |
| | | EventBroadcast.Instance.RemoveListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd); |
| | | BattleManager.Instance.storyBattleField.IsPause = false; |
| | | |
| | |
| | | if (damageInfo.battleFieldGuid == battleField.guid) |
| | | { |
| | | DisplayHpInfo(); |
| | | totalDamageDisplayer.SetDamage(damageInfo); |
| | | } |
| | | } |
| | | |
| | |
| | | ui.SetBattleField(battleField); |
| | | battleField.UpdateCanvas(canvas); |
| | | textSpeed.text = (BattleManager.Instance.speedIndex + 1).ToString(); |
| | | DisplayHpInfo(); |
| | | DisplayPlayerInfo(); |
| | | Refresh(); |
| | | |
| | | battleField.OnRoundChange -= OnRoundChange; |
| | | battleField.OnRoundChange += OnRoundChange; |
| | | OnRoundChange(battleField.round, battleField.turnMax); |
| | | } |
| | | |
| | | public override void Refresh() |
| | | { |
| | | base.Refresh(); |
| | | DisplayHpInfo(); |
| | | DisplayPlayerInfo(); |
| | | totalDamageDisplayer.SetActive(false); |
| | | skillTipsBlue.SetActive(false); |
| | | skillTipsRed.SetActive(false); |
| | | } |
| | | |
| | | private void OnCastSkill(string guid, SkillConfig skillConfig, TeamHero teamHero) |
| | | { |
| | | if (battleField == null) |
| | | return; |
| | | |
| | | if (battleField.guid != guid) |
| | | return; |
| | | |
| | | BattleObject battleObject = battleField.battleObjMgr.GetBattleObject(teamHero.ObjID); |
| | | |
| | | bool isRed = battleObject.Camp == BattleCamp.Red; |
| | | |
| | | SkillTips tips = isRed ? skillTipsRed : skillTipsBlue; |
| | | |
| | | tips.PlayMotion(battleField, isRed, teamHero, skillConfig); |
| | | } |
| | | |
| | | private void DisplayHpInfo() |
| | | { |
| | | if (battleField == null) |