예제 #1
0
    // 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);
    }