public override EnemyAction Hurt(EnemyHurtAttr enemyHurtAttr) { if (!IsDead) { animator.SetTrigger(aniHurt); return(EnemyAction.Hurt); } return(EnemyAction.Miss); }
public override EnemyAction Hurt(EnemyHurtAttr enemyHurtAttr) { if (!IsDead) { // 伤害计算 //int damage = enemyHurtAttr.Attack * enemyHurtAttr.Attack /(enemyHurtAttr.Attack + DefendPoint); int damage = enemyHurtAttr.Attack - DefendPoint; CurrentHP -= damage; Debug.Log("EnemyHurt:" + damage); } return(EnemyAction.Hurt); }
public override EnemyAction Hurt(EnemyHurtAttr enemyHurtAttr) { if (!IsDead) { // 伤害计算 int damage = enemyHurtAttr.Attack; CurrentHP -= damage; animator.SetTrigger(animHurt); Debug.Log("EnemyHurt:" + damage); } return(EnemyAction.Hurt); }
public override EnemyAction Hurt(EnemyHurtAttr enemyHurtAttr) { if (!IsDead) { // Idle下且非Transition才触发动画,其他扣血但无动画,如果Transition时那么Trigger会延迟触发 //if (animator.IsInTransition(0)&&stateInfo.IsName("Idle")) animator.SetTrigger("Hurt"); // 伤害计算 //int damage = enemyHurtAttr.Attack * enemyHurtAttr.Attack /(enemyHurtAttr.Attack + DefendPoint); int damage = enemyHurtAttr.Attack - DefendPoint; CurrentHP -= damage; Debug.Log("EnemyHurt:" + damage); } return(EnemyAction.Hurt); }
public override EnemyAction Hurt(EnemyHurtAttr enemyHurtAttr) { if (!IsDead) { GameObjectInScene.transform.forward = -enemyHurtAttr.TransformForward; Rgbd.velocity = enemyHurtAttr.TransformForward * enemyHurtAttr.VelocityForward; // 防御 if (stateInfo.IsName("Idle") || stateInfo.IsName("Walk") || stateInfo.IsName("Defend")) { animator.SetTrigger(aniDefend); return(EnemyAction.Parry); } animator.SetTrigger(aniHurt); CurrentHP -= enemyHurtAttr.Attack; } return(EnemyAction.Hurt); }