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(); } }
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); }