// Advance game time by one tick. public void GameTimeTick() { --TicksUntilEconomyTick; if (TicksUntilEconomyTick == 0) { Economy.Tick(); TicksUntilEconomyTick = EconomyTickInterval; } // Ja ich weiß furchtbares Design, aber Gründe ... int workersIncome = 0; this.Map.ForEachTile((x, y, tile) => { if (tile.Building != null) { HousingBuilding testCast = tile.Building as HousingBuilding; if (testCast != null) { workersIncome += testCast.getNumberOfWorkers(); } tile.Building.gameTick(); } }); Economy.addIncome(workersIncome); }