105 lines
3.0 KiB
Plaintext
105 lines
3.0 KiB
Plaintext
@inject IJSRuntime jsRuntime;
|
|
|
|
@inject IBuildOrderService buildOrderService
|
|
@inject IEconomyService economyService
|
|
@inject IToastService toastService
|
|
@inject ITimingService timingService
|
|
@implements IDisposable
|
|
|
|
<FormLayoutComponent>
|
|
<FormNumberComponent Max="2048"
|
|
Min="0"
|
|
Value="@timingService.GetAttackTime()"
|
|
OnChange="@OnAttackTimeChanged">
|
|
<FormLabelComponent>Attack Time</FormLabelComponent>
|
|
<FormInfoComponent>
|
|
<i>  T @Interval.ToTime(timingService.GetAttackTime())</i>
|
|
</FormInfoComponent>
|
|
</FormNumberComponent>
|
|
|
|
<FormNumberComponent Max="2048"
|
|
Min="0"
|
|
Value="@timingService.GetTravelTime()"
|
|
OnChange="@OnTravelTimeChanged">
|
|
<FormLabelComponent>Travel Time</FormLabelComponent>
|
|
<FormInfoComponent>
|
|
<i>  T @Interval.ToTime(timingService.GetTravelTime())</i>
|
|
</FormInfoComponent>
|
|
</FormNumberComponent>
|
|
|
|
</FormLayoutComponent>
|
|
|
|
@code {
|
|
|
|
protected override void OnInitialized()
|
|
{
|
|
base.OnInitialized();
|
|
timingService.Subscribe(StateHasChanged);
|
|
}
|
|
|
|
void IDisposable.Dispose()
|
|
{
|
|
timingService.Unsubscribe(StateHasChanged);
|
|
}
|
|
|
|
void OnAttackTimeChanged(ChangeEventArgs changeEventArgs)
|
|
{
|
|
timingService.SetAttackTime(int.Parse(changeEventArgs.Value!.ToString()!));
|
|
economyService.Calculate(buildOrderService, timingService, buildOrderService.GetLastRequestInterval());
|
|
toastService.AddToast(new ToastModel
|
|
{
|
|
Title = "Attack Time",
|
|
Message = "Attack Time has changed.",
|
|
SeverityType = SeverityType.Success
|
|
});
|
|
|
|
StateHasChanged();
|
|
}
|
|
|
|
void OnTravelTimeChanged(ChangeEventArgs changeEventArgs)
|
|
{
|
|
timingService.SetTravelTime(int.Parse(changeEventArgs.Value!.ToString()!));
|
|
economyService.Calculate(buildOrderService, timingService, buildOrderService.GetLastRequestInterval());
|
|
toastService.AddToast(new ToastModel
|
|
{
|
|
Title = "Travel Time",
|
|
Message = "Travel Time has changed.",
|
|
SeverityType = SeverityType.Success
|
|
});
|
|
|
|
StateHasChanged();
|
|
}
|
|
|
|
void OnNameChanged(ChangeEventArgs changeEventArgs)
|
|
{
|
|
buildOrderService.SetName(changeEventArgs.Value!.ToString()!);
|
|
}
|
|
|
|
void OnColorChanged(ChangeEventArgs changeEventArgs)
|
|
{
|
|
buildOrderService.DeprecatedSetColor(changeEventArgs.Value!.ToString()!);
|
|
}
|
|
|
|
|
|
void OnNotesChanged(ChangeEventArgs changeEventArgs)
|
|
{
|
|
buildOrderService.SetNotes(changeEventArgs.Value!.ToString()!);
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
} |