예제 #1
0
    private void Update()
    {
        if (hp <= 0 && !isDying)
        {
            DetermineEnemyMovePhaseFaweedEditon faweed = GetComponent <DetermineEnemyMovePhaseFaweedEditon>();
            foreach (var obj in faweed._enemies)
            {
                if (obj != null)
                {
                    if (GetComponent <DetermineEnemyMovePhaseFaweedEditon>())
                    {
                        DetermineEnemyMovePhaseFaweedEditon phase = obj.GetComponent <DetermineEnemyMovePhaseFaweedEditon>();
                        if (phase != null)
                        {
                            phase.moveTrail.enabled = true;
                        }
                    }
                }
            }

            if (hasKey)
            {
                Player.keys++;
            }
            isDying = true;
            sounds.playSound(2);
        }
    }
    private void FixedUpdate()
    {
        determineDistanceToPlayer();
        determinePlayerSpeed();

        enemyPhasePrevious = enemyPhaseCurrent;
        determinePhase();


        if (enemyPhasePrevious != enemyPhaseCurrent)
        {
            switch (enemyPhaseCurrent)
            {
            case ENEMYPHASE.ALERT:
                sound.playSound(1);
                chasePlayer.enabled = false;
                moveTrail.enabled   = false;
                break;

            case ENEMYPHASE.COMBAT:
                //Necessary value switches
                Player playerStats = _player.GetComponent <Player>();
                enemy.inCombat = true;
                playerStats.SetEnemy(gameObject);
                playerStats.isEnteringCombat = true;

                chasePlayer.enabled = false;
                moveTrail.enabled   = false;
                foreach (GameObject enemy in _enemies)
                {
                    if (enemy != null)
                    {
                        if (enemy.GetComponent <DetermineEnemyMovePhaseFaweedEditon>())
                        {
                            DetermineEnemyMovePhaseFaweedEditon phase = enemy.GetComponent <DetermineEnemyMovePhaseFaweedEditon>();
                            phase.chasePlayer.enabled = false;
                            phase.moveTrail.enabled   = false;
                        }
                    }
                }

                break;

            case ENEMYPHASE.CHASE:
                sound.playSound(2);
                chasePlayer.enabled = true;
                moveTrail.enabled   = false;
                break;

            case ENEMYPHASE.PATROL:
                Debug.Log("HI");
                chasePlayer.enabled = false;
                moveTrail.enabled   = true;
                moveTrail.GoToNextWavePoint();
                break;

            case ENEMYPHASE.PAUSE:
                chasePlayer.enabled = false;
                moveTrail.enabled   = false;
                break;
            }
        }
    }