public Enemy Add(ObjectCreator.Objects enemyType) { var enemy = (Enemy)ObjectCreator.Create(enemyType); _enemies.Add(enemy); enemy.Connect(nameof(Character.Death), this, nameof(_OnEnemyDeath)); EmitSignal(nameof(Updated)); return enemy; }
public void TryBuyLevel(ObjectCreator.Objects obj) { var cost = GetNextLevelCost(obj); var money = _global.Money; if (money.TrySpend(cost)) { _defenderLevels[obj]++; } }
public int GetNextLevelCost(ObjectCreator.Objects obj) { return(100 + 14 * _defenderLevels[obj]); }
public int GetDefenderLevel(ObjectCreator.Objects obj) { return(_defenderLevels[obj]); }