Esempio n. 1
0
    void Start()
    {
        BossManager = BossManagerObj.GetComponent <BossBattle>();

        if (Instance == null)
        {
            Instance = this;
        }
    }
Esempio n. 2
0
    private void SpawnNewEnemy(GameObject spawnObject)
    {
        // Spawn a new enemy
        GameObject newEnemy = Instantiate(spawnObject);

        IDamageable damageable = newEnemy.GetComponent <IDamageable>();

        if (damageable != null)
        {
            damageable.OnDeath += EnemySpawner_OnDeath;
        }

        BossBattle bossBattle = newEnemy.GetComponent <BossBattle>();

        if (bossBattle != null)
        {
            bossBattle.OnBossDeath += EnemySpawner_OnDeath;
        }

        Vector3 newEnemyPosition = newEnemy.transform.position;

        // Place it at a random position outside of the spawn area
        if (Random.value > 0.5f)
        {
            if (Random.value > 0.5f)
            {
                newEnemyPosition.x = -_spawnArea.x + 2;
            }
            else
            {
                newEnemyPosition.x = _spawnArea.x - 2;
            }


            newEnemyPosition.y          = Random.Range(-_spawnArea.y, _spawnArea.y);
            newEnemy.transform.position = newEnemyPosition;
        }
        else
        {
            if (Random.value > 0.5f)
            {
                newEnemyPosition.y = -_spawnArea.y + 2;
            }
            else
            {
                newEnemyPosition.y = _spawnArea.y - 2;
            }

            newEnemyPosition.x          = Random.Range(-_spawnArea.x, _spawnArea.x);
            newEnemy.transform.position = newEnemyPosition;
        }

        _currentEnemiesAlive++;
    }
Esempio n. 3
0
    // Update is called once per frame
    void Update()
    {
        if (GameManager.manager.bossBattle)
        {
            bossHealth = FindObjectOfType <BossBattle>();
            Move_Boss_Hearts();

            if (bossHealth.health == 3)
            {
                hearts[0].SetActive(true);
                hearts[1].SetActive(true);
                hearts[2].SetActive(true);
            }
            else if (bossHealth.health == 2)
            {
                hearts[0].SetActive(false);
                hearts[1].SetActive(true);
                hearts[2].SetActive(true);
            }
            else if (bossHealth.health == 1)
            {
                hearts[0].SetActive(false);
                hearts[1].SetActive(false);
                hearts[2].SetActive(true);
            }
            else
            {
                hearts[0].SetActive(false);
                hearts[1].SetActive(false);
                hearts[2].SetActive(false);
            }
        }
        else
        {
            hearts[0].SetActive(false);
            hearts[1].SetActive(false);
            hearts[2].SetActive(false);
            bossHearts.anchoredPosition = Vector2.Lerp(bossHearts.anchoredPosition, new Vector2(40f, 0), 5f * Time.deltaTime);
        }
    }
Esempio n. 4
0
 // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     boss = animator.GetComponentInParent <BossBattle>();
 }
Esempio n. 5
0
 void Start()
 {
     gameObject.SetActive(true);
     script = GameObject.Find("Boss").GetComponent <BossBattle>();
 }
 private void Start()
 {
     script = GetComponentInParent <BossBattle>();
 }
Esempio n. 7
0
 // Start is called before the first frame update
 void Start()
 {
     bossHearts.anchoredPosition = new Vector2(40f, 0);
     bossHealth = FindObjectOfType <BossBattle>();
 }
 public void SetBossBattle(BossBattle bossBattle)
 {
     _bossBattle = bossBattle;
     _bossBattle.OnStageChanged += BossController_OnStageChanged;
 }