Beispiel #1
0
        /// <summary>
        /// 进入下一个状态
        /// </summary>
        public void ToActionState()
        {
            //设置下一个阶段的状态
            switch (_SystemState)
            {
            case Global.CombatSystemType.InitSystem:
                _SystemState = Global.CombatSystemType.BeforeAction;
                break;

            case Global.CombatSystemType.BeforeAction:
                _SystemState = Global.CombatSystemType.Actioning;
                break;

            case Global.CombatSystemType.Actioning:
                _SystemState = Global.CombatSystemType.AfterAction;
                break;

            case Global.CombatSystemType.AfterAction:
                if (CheckPlayerFailed() || CheckEnemyFailed())
                {
                    _SystemState = Global.CombatSystemType.CombatEnd;
                }
                else
                {
                    _SystemState = Global.CombatSystemType.BeforeAction;
                }
                break;

            case Global.CombatSystemType.CombatEnd:
                _SystemState = Global.CombatSystemType.ExitSystem;
                break;
            }
            //表示这个阶段执行完毕可以进行下一阶段了
            _IsExcuteAction = false;
        }
Beispiel #2
0
 /// <summary>
 /// 开始一场战斗
 /// </summary>
 /// <param name="player">参与战斗的玩家英雄数据</param>
 /// <param name="enemy">参与战斗的敌人英雄数据</param>
 public void StartBattle(List <Hero> player, List <Hero> enemy)
 {
     //初始化BattleUI
     CurrentBattleUI.Init();
     //创建所有的参与战斗的英雄UI
     CurrentBattleUI.CreateHeros(player, enemy);
     //进入到战斗系统初始化阶段
     _SystemState    = Global.CombatSystemType.InitSystem;
     _IsExcuteAction = false;
     _IsBattling     = true;
 }
Beispiel #3
0
 /// <summary>
 /// 初始化系统数据
 /// </summary>
 void Init()
 {
     if (CurrentBattleUI == null)
     {
         CurrentBattleUI = GetComponent <BaseBattleUI>();
         if (CurrentBattleUI == null)
         {
             CurrentBattleUI = this.gameObject.AddComponent <BaseBattleUI>();
         }
         DebugLog(LogType.ERROR, "Not found Battle UI,Use BaseBattleUI instead!");
     }
     _SystemState    = Global.CombatSystemType.ExitSystem;
     _PlayerTeam     = new List <HeroMono>();
     _EnemyTeam      = new List <HeroMono>();
     _AttackList     = new List <HeroMono>();
     _CurTurnHero    = null;
     _IsBattling     = false;
     _IsExcuteAction = true;
 }
Beispiel #4
0
 /// <summary>
 /// 强制结束状态到什么状态
 /// </summary>
 public void AbortAction(Global.CombatSystemType state)
 {
     _SystemState = state;
     //表示这个阶段执行完毕可以进行下一阶段了
     _IsExcuteAction = false;
 }