Ejemplo n.º 1
0
        private void UpdateAnimation()
        {
            //距離でState変更
            if (_unitAttacker.IsAttackToTarget(attackTarget))
            {
                currentState = UnitActionState.Attack;
            }
            else
            {
                currentState = UnitActionState.Move;
            }

            _animator.Play(currentState.ToString());
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 单位死亡
 /// </summary>
 public void Die()
 {
     this.CurrentHP = 0;
     this.ActionState = UnitActionState.Dead;
     ReportDeadToTeam();
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 重置行动状态
 /// 如果单位未死亡则重置为待命状态
 /// </summary>
 public virtual void ResetActionState()
 {
     if (this.ActionState != UnitActionState.Dead)
     {
         this.ActionState = UnitActionState.Ready;
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 玩家单位行动
 /// </summary>
 /// <param name="turn">当前回合数</param>
 /// <param name="enemy">敌人(怪物队伍)</param>
 /// <returns>行动日志</returns>
 public virtual string Action(int turn, Team enemy)
 {
     //如已死亡则返回空字符串,否则修改为已行动
     if (this.ActionState == UnitActionState.Dead)
     {
         return "";
     }
     else
     {
         this.ActionState = UnitActionState.Done;
     }
     //判断是否符合主动技能发动条件
     //todo:技能释放判断
     if (false)
     {
         //释放主动技能
         //return "单位释放技能";
     }
     else
     {
         //随机攻击敌人
         return RandomAttack(enemy);
     }
     //return "单位行动";
 }