Пример #1
0
        public override void Damage(int damage, CaptainEnemy captain, EnemyController enemy)
        {
            if (enemyInfo.hp <= 0)
            {
                return;
            }
            enemyInfo.hp -= damage;
            if (enemyInfo.hp <= 0)
            {
                captain.RemoveAbeSan(enemy);
                enemyInfo.hp = 0;
            }

            if (enemyInfo.pushForce_y > 0)
            {
                enemyInfo.animator.Play("Down");
            }
            else
            {
                AnimatorStateInfo nowState = enemyInfo.animator.GetCurrentAnimatorStateInfo(0);
                if (nowState.IsName("Damage"))
                {
                    enemyInfo.animator.Play("Damage_2");
                }
                else
                {
                    enemyInfo.animator.Play("Damage");
                }
            }
        }
Пример #2
0
        public virtual void Damage(int damage, CaptainEnemy captain, EnemyController enemy)
        {
            //if (HP <= 0) return;

            enemyInfo.hp -= damage;
            if (enemyInfo.hp <= 0)
            {
                if (captain != null)
                {
                    captain.RemoveAbeSan(enemy);
                }
                enemyInfo.hp = 0;
            }

            if (enemyInfo.pushForce_y > 0)
            {
                enemyInfo.animator.Play("Down");
            }
            else
            {
                AnimatorStateInfo nowState = enemyInfo.animator.GetCurrentAnimatorStateInfo(0);
                if (nowState.IsName("Damage"))
                {
                    enemyInfo.animator.Play("Damage_2");
                }
                else
                {
                    enemyInfo.animator.Play("Damage");
                }
            }

            nextState = new AnomalyState(enemyInfo);
            //nextState.Push (pushForce_z, pushForce_y, pushDirection);
        }