/// <summary> /// 每个回合行动中调用 /// </summary> void Actioning() { //出去当前英雄的其他英雄所有技能CD和蓄力进行减少 //for (int i = 0; i < _PlayerTeam.Count; i++) //{ // if (_PlayerTeam[i] != _CurTurnHero) // { // _PlayerTeam[i].CoolDownSkillCD(1); // _PlayerTeam[i].CoolDownSkillDelay(1); // } //} //for (int i = 0; i < _EnemyTeam.Count; i++) //{ // if (_EnemyTeam[i] != _CurTurnHero) // { // _EnemyTeam[i].CoolDownSkillCD(1); // _EnemyTeam[i].CoolDownSkillDelay(1); // } //} //冷却一回合技能CD或者蓄力冷却一回合 _CurTurnHero.CoolDownSkillCD(1); BaseSkill skill = _CurTurnHero.CoolDownSkillDelay(1); if (skill != null) { if (skill.CurrentDelayTurn > 0) { //蓄力或者使用这个技能 _CurTurnHero.Attack(skill.SkillType); } else { //直接使用这个技能 _CurTurnHero.ExcuteSkill(skill.SkillType); } } else { //如果当前没有蓄力技能释放 //如果是玩家的回合,并且不是自动战斗,则将操作交给玩家 if (_CurTurnHero.IsPlayerHero && !IsAutoBattle) { //等待玩家的输入 CurrentInputController.WaitForInput(_CurTurnHero); } else { //如果可以施放技能,就施放技能 _CurTurnHero.AutoExcuteSkill(); } } }
/// <summary> /// 选择了一个技能释放 /// </summary> void OnSkillChooseClick(GameObject button) { BattleController.Instance.DebugLog(LogType.INFO, "选择了" + button.name); foreach (BaseSkill skill in _CurHero.Skills.Values) { if (skill.Name == button.name) { _CurHero.Attack(skill.SkillType); //关闭输入UI DisappearInputUI(); } } }