private void ChangeCondition(EnemyCondition enemyCondition)
    {
        Condition = enemyCondition;
        switch (Condition)
        {
        case EnemyCondition.Alive:
            _isStayOnSmth = false;
            _manager.EnemyMovement.Reset();
            _currHealth = _maxHealth;
            ChangeColorOfSprites(Color.white);
            _rigitBody2D.bodyType = RigidbodyType2D.Dynamic;
            break;

        case EnemyCondition.Dead:
            ChangeColorOfSprites(Color.red);

            break;

        case EnemyCondition.Freesing:
            break;

        case EnemyCondition.Frozen:
            ChangeColorOfSprites(Color.blue);
            _rigitBody2D.bodyType = RigidbodyType2D.Static;
            break;

        default:
            throw new ArgumentOutOfRangeException();
        }
    }
示例#2
0
 private void EnemyStop()
 {
     state = EnemyCondition.Stop;
 }
示例#3
0
 // Start is called before the first frame update
 void Start()
 {
     navMeshAgent = GetComponent <NavMeshAgent>();
     player       = GameObject.FindGameObjectWithTag("Player");
     state        = EnemyCondition.Chase;
 }
示例#4
0
 /*
  *以下Private関数
  */
 private void EnemyChaseStart()
 {
     state = EnemyCondition.Chase;
 }