@page "/building-calculator" @using System.Text.Json @using WebAssembly.Throwaway

Building Plan Calculator

Simulates resource income each turn and tracks build completion times for ordered buildings.

Build Order

@foreach (var entry in Result.BuildOrder) { }
Turn Requested Building Finish Turn Industry Remaining
@entry.RequestedTurn @entry.Name @(entry.BuiltFinishTurn == 0 ? "Starting" : entry.BuiltFinishTurn.ToString()) @entry.IndustryCostRemaining

Gold Over Time

@foreach (var snapshot in Result.ResourceHistory) { }
Turn Stored Gold Income Upkeep
@snapshot.Turn @snapshot.Stored.Gold @snapshot.TotalIncome.Gold @snapshot.TotalUpkeep.Gold

Result JSON

@Json
@code { private BuildPlanResult Result = new(); private string Json = string.Empty; protected override void OnInitialized() { Result = BuildingPlanCalculator.CreateSampleBuildPlan(); Json = JsonSerializer.Serialize(Result, new JsonSerializerOptions { WriteIndented = true }); } }