Beispiel #1
0
    public void TakeDamage(float damage)
    {
        health -= damage;
        if (damageParticle != null)
        {
            Instantiate(damageParticle, transform.position, Quaternion.identity);
        }
        spriteRenderer.color = Color.blue;
        Invoke("ChangeBackColor", 0.1f);

        if (health <= 0f && !preventMultiDeath)
        {
            preventMultiDeath = true;
            player.GetClosestRoom().enemies--;
            if (player.GetClosestRoom().enemies <= 0 && player.GetClosestRoom().spawnerInRoom == false)
            {
                betweenBattle.OpenPowerupScreen();
            }
            if (enemyReward != null)
            {
                Instantiate(enemyReward, transform.position, transform.rotation);
            }
            if (giveWeapon)
            {
                int weaponIndex = UnityEngine.Random.Range(0, weaponReward.Length);
                Instantiate(weaponReward[weaponIndex], new Vector3(transform.position.x, transform.position.y - 3, transform.position.z), transform.rotation);
            }
            if (enemyIndex == 1)
            {
                soundLibrary.UniblobNeighSFX();
            }
            Destroy(gameObject);
        }
    }
Beispiel #2
0
    void WaveCompleted()
    {
        Debug.Log("Wave completed!");

        state         = SpawnState.COUNTING;
        waveCountdown = timeBetweenWaves;

        if (nextWave + 1 > waves.Length - 1)
        {
            //Game state complete. Now what? Fanfare? Next level?
            //nextWave = 0;
            Debug.Log("All waves complete! Looping...");

            player.GetClosestRoom().spawnerInRoom = false;
            player.GetClosestRoom().roomCleared   = true;
            player.GetClosestRoom().activeSpawners--;
            canSpawn     = false;
            stopSpawning = true;
            if (player.GetClosestRoom().enemies <= 0)
            {
                betweenBattle.OpenPowerupScreen();
            }
        }
        else
        {
            nextWave++;
        }
    }