/// <summary>
 /// 攻击操作
 /// </summary>
 public void AttackEnemy(BaseRole enemy)
 {
     //调用攻击动画
     //TODO
     //执行攻击相关操作
     Debug.Log(gameObject.name + "攻击" + enemy.gameObject.name);
     AddAP(20);                      //增加怒气值
     enemy.BeAttack(Attack);         //调用敌人的被攻击操作
 }
Beispiel #2
0
        /// <summary>
        /// 攻击动作
        /// </summary>
        /// <param name="currentStance">当前轮到的准备攻击的序列</param>
        /// <param name="enemyList">攻击列表</param>
        private void AttackAction(BaseStance currentStance, BaseStance[] enemyList)
        {
            //确定攻击目标,按照攻击列表的顺序,如果找到攻击目标,则返回
            for (int i = 0; i < currentStance.AttackList.Count; i++)
            {
                BaseStance enemyStance = enemyList[(int)currentStance.AttackList[i]];
                if (enemyStance.transform.childCount > 0)
                {
                    BaseRole role  = currentStance.transform.GetChild(0).GetComponent <BaseRole>();
                    BaseRole enemy = enemyStance.transform.GetChild(0).GetComponent <BaseRole>();

                    //执行攻击操作
                    role.AttackEnemy(enemy);
                    break;
                }
            }
        }