@inject IJSRuntime jsRuntime; @inject IBuildOrderService buildOrderService @inject IEconomyService economyService @inject IToastService toastService @inject ITimingService timingService Building Input Delay Add a input delay to constructing buildings for simulating worker movement and player micro.
Wait Time Add Wait Wait To Add Wait
@code { public int WaitTime { get; set; } = 30; public int WaitTo { get; set; } = 30; void OnBuildingInputDelayChanged(ChangeEventArgs changeEventArgs) { buildOrderService.BuildingInputDelay = int.Parse(changeEventArgs.Value!.ToString()!); } void OnWaitTimeChanged(ChangeEventArgs changeEventArgs) { WaitTime = (int)changeEventArgs.Value!; } public void OnWaitClicked() { if (buildOrderService.AddWait(WaitTime)) { economyService.Calculate(buildOrderService, timingService, buildOrderService.GetLastRequestInterval()); } } public void OnWaitToClicked() { if (buildOrderService.AddWait(WaitTime)) { economyService.Calculate(buildOrderService, timingService, buildOrderService.GetLastRequestInterval()); } } protected override bool ShouldRender() { #if DEBUG jsRuntime.InvokeVoidAsync("console.time", "TimingComponent"); #endif return true; } protected override void OnAfterRender(bool firstRender) { #if DEBUG jsRuntime.InvokeVoidAsync("console.timeEnd", "TimingComponent"); #endif } }