コード例 #1
0
 void Update()
 {
     if (!complete && (obj == null || obj.name.Equals("Respawn")))
     {
         complete = true;
         ScoreManager.AddAggressive(3);
     }
 }
コード例 #2
0
    // Ogre's Strength - apply poison damage to damaged enemies for 5 seconds
    IEnumerator OgreStrength()
    {
        ScoreManager.AddAggressive(1);
        soundManager.PlaySound(soundManager.powerup);
        uiManager.Powerup("Ogre's Strength: +Poison Damage", new Color(0, 0.75f, 0));
        GetComponent <SpriteRenderer>().color = new Color(0, 0.75f, 0);
        ogreStrength = true;
        yield return(new WaitForSeconds(10));

        uiManager.Powerup("", Color.white);
        GetComponent <SpriteRenderer>().color = Color.white;
        ogreStrength = false;
    }
コード例 #3
0
    // Liquid Luck - increase attack by 1 and glow yellow for 5 seconds
    IEnumerator LiquidLuck()
    {
        ScoreManager.AddAggressive(1);
        soundManager.PlaySound(soundManager.powerup);
        uiManager.Powerup("Liquid Luck: +1 Attack", new Color(1, 0.9f, 0));
        GetComponent <SpriteRenderer>().color = new Color(1, 0.9f, 0);
        shine.SetActive(true);
        attack++;
        yield return(new WaitForSeconds(10));

        uiManager.Powerup("", Color.white);
        GetComponent <SpriteRenderer>().color = Color.white;
        shine.SetActive(false);
        attack--;
    }
コード例 #4
0
    IEnumerator Die()
    {
        isDead = true;
        // Level Quests
        if (SceneManager.GetActiveScene().name.Equals("Main"))
        {
            questManager.Event($"Defeat 1 {name}                     0/1", 0, true);
            questManager.Event(name, "Defeat", true);
            if (questManager.Event("monster", "Defeat", false))
            {
                questManager.AddMainQuest("Return to Wigg");
            }
        }
        // Tutorial Quests
        else if (SceneManager.GetActiveScene().name.Equals("Tutorial"))
        {
            questManager.Event("Defeat the monster         0/1", 0, false);
            questManager.Event("monster", "Defeat", false);
        }
        // Add Aggressive Score
        PlayerData.Kills += 1;
        ScoreManager.AddAggressive(1);
        // Prepare for Respawn
        soundManager.PlaySound(soundManager.monsterDie);
        yield return(new WaitForSeconds(0.5f));

        // Disable Enemy
        name = "Respawn";
        enemyRenderer.enabled = false;
        magicAttack           = false;
        groundPoundAttack     = false;
        spawnEnemies          = false;
        healthText.enabled    = false;
        GetComponent <Collider2D>().enabled = false;
        if (boss)
        {
            soundManager.PauseMusic();
            soundManager.PlayMusic(soundManager.victoryMusic);
            dungeonManager.PlaceItem("Boss Key", transform.position);
            // Create Upgrades
            if (upgrades.Count > 0)
            {
                foreach (string upgrade in upgrades)
                {
                    yield return(uiManager.Upgrade(upgrade));
                }
            }
            // Destroy Enemies
            for (int i = 0; i < enemies.transform.childCount; i++)
            {
                Destroy(enemies.transform.GetChild(i).gameObject);
            }
            // Save Data
            player.GetComponent <PlayerController>().SaveData(false, true);
        }
        else
        {
            // Create Drops
            if (!SceneManager.GetActiveScene().name.Equals("Tutorial"))
            {
                dungeonManager.PlaceItem(drops[Random.Range(0, 12)], transform.position);
            }
            // Respawn Enemy
            if (dungeon != null && !den)
            {
                yield return(new WaitForSeconds(10));

                dungeonManager.PlaceEnemy(dungeon, PlayerData.Difficulty, false);
            }
        }
        // Destroy Enemy
        Destroy(gameObject);
    }