Example #1
0
    public void OnEnemyDeath(Node2D enemy)
    {
        Enemy e = (Enemy)enemy;

        PlayEnemyDeathSound(e.Name);

        enemyCount--;

        GD.Print("enemy count: " + enemyCount);

        if (result.enemies.ContainsKey(e.monsterName))
        {
            result.enemies[e.monsterName].count += 1;
        }
        else
        {
            EnemyResult enemyResult = new EnemyResult()
            {
                xp    = e.xp,
                count = 1
            };

            result.enemies.Add(e.monsterName, enemyResult);
        }

        if (enemyCount <= 0)
        {
            LeaveLevel();
        }
    }
Example #2
0
    public Dictionary <string, EnemyResult> getEnemies()
    {
        if (prev != null)
        {
            foreach (KeyValuePair <string, EnemyResult> entry in prev.getEnemies())
            {
                if (enemies.ContainsKey(entry.Key))
                {
                    EnemyResult newResult = enemies[entry.Key];
                    newResult.count    = enemies[entry.Key].count + 1;
                    enemies[entry.Key] = newResult;
                }
                else
                {
                    enemies.Add(entry.Key, entry.Value);
                }
            }
        }

        return(enemies);
    }