22 changed files with 793 additions and 551 deletions
@ -1,55 +1,69 @@ |
|||||||
<FormLayoutComponent> |
@inject IJSRuntime jsRuntime; |
||||||
|
|
||||||
|
@inject IBuildOrderService buildOrderService |
||||||
|
@inject IEconomyService economyService |
||||||
|
@inject IToastService toastService |
||||||
|
@inject ITimingService timingService |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<FormLayoutComponent> |
||||||
<FormNumberComponent ReadOnly="true" |
<FormNumberComponent ReadOnly="true" |
||||||
Max="600" |
Max="600" |
||||||
Min="0" |
Min="0" |
||||||
Value="@TimingService.GetTiming()" |
Value="@timingService.GetTiming()" |
||||||
OnChange="@OnTimingChanged"> |
OnChange="@OnTimingChanged"> |
||||||
<FormLabelComponent>Timing interval</FormLabelComponent> |
<FormLabelComponent>Timing interval</FormLabelComponent> |
||||||
<FormInfoComponent>Altering the time interval is currently disabled.</FormInfoComponent> |
<FormInfoComponent>Altering the time interval is currently disabled.</FormInfoComponent> |
||||||
</FormNumberComponent> |
</FormNumberComponent> |
||||||
|
|
||||||
<FormTextComponent Label="Name" Placeholder="Fast Thrones..." Value="@BuildOrderService.GetName()" OnChange="OnNameChanged"/> |
<FormTextComponent Label="Name" Placeholder="Fast Thrones..." Value="@buildOrderService.GetName()" OnChange="OnNameChanged"/> |
||||||
|
|
||||||
<FormTextAreaComponent Label="Notes" |
<FormTextAreaComponent Label="Notes" |
||||||
Value="@BuildOrderService.GetNotes()" |
Value="@buildOrderService.GetNotes()" |
||||||
OnChange="@OnNotesChanged"> |
OnChange="@OnNotesChanged"> |
||||||
</FormTextAreaComponent> |
</FormTextAreaComponent> |
||||||
<FormTextComponent Label="Color" Placeholder="red..." Value="@BuildOrderService.GetColor()" OnChange="OnColorChanged"/> |
<FormTextComponent Label="Color" Placeholder="red..." Value="@buildOrderService.GetColor()" OnChange="OnColorChanged"/> |
||||||
</FormLayoutComponent> |
</FormLayoutComponent> |
||||||
|
|
||||||
@code { |
@code { |
||||||
|
|
||||||
[Inject] |
|
||||||
public ITimingService TimingService { get; set; } = default!; |
|
||||||
|
|
||||||
[Inject] |
|
||||||
public IBuildOrderService BuildOrderService { get; set; } = default!; |
|
||||||
|
|
||||||
|
|
||||||
void OnTimingChanged(ChangeEventArgs changeEventArgs) |
void OnTimingChanged(ChangeEventArgs changeEventArgs) |
||||||
{ |
{ |
||||||
TimingService.SetTiming(int.Parse(changeEventArgs.Value!.ToString()!)); |
timingService.SetTiming(int.Parse(changeEventArgs.Value!.ToString()!)); |
||||||
} |
economyService.Calculate(buildOrderService, timingService, buildOrderService.GetLastRequestInterval()); |
||||||
|
|
||||||
void OnTimingChanged(int value) |
|
||||||
{ |
|
||||||
TimingService.SetTiming(value); |
|
||||||
} |
} |
||||||
|
|
||||||
void OnNameChanged(ChangeEventArgs changeEventArgs) |
void OnNameChanged(ChangeEventArgs changeEventArgs) |
||||||
{ |
{ |
||||||
BuildOrderService.SetName(changeEventArgs.Value!.ToString()!); |
buildOrderService.SetName(changeEventArgs.Value!.ToString()!); |
||||||
} |
} |
||||||
|
|
||||||
void OnColorChanged(ChangeEventArgs changeEventArgs) |
void OnColorChanged(ChangeEventArgs changeEventArgs) |
||||||
{ |
{ |
||||||
BuildOrderService.SetColor(changeEventArgs.Value!.ToString()!); |
buildOrderService.SetColor(changeEventArgs.Value!.ToString()!); |
||||||
} |
} |
||||||
|
|
||||||
|
|
||||||
void OnNotesChanged(ChangeEventArgs changeEventArgs) |
void OnNotesChanged(ChangeEventArgs changeEventArgs) |
||||||
{ |
{ |
||||||
BuildOrderService.SetNotes(changeEventArgs.Value!.ToString()!); |
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 |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
} |
} |
||||||
@ -1,58 +0,0 @@ |
|||||||
using Model.Entity; |
|
||||||
using Model.Types; |
|
||||||
|
|
||||||
namespace Services.Immortal; |
|
||||||
|
|
||||||
public class GameLogicService : IGameLogicService |
|
||||||
{ |
|
||||||
private ITimingService timingService; |
|
||||||
private IEconomyService economyService; |
|
||||||
private IBuildOrderService buildOrderService; |
|
||||||
|
|
||||||
public GameLogicService(ITimingService timingService, IEconomyService economyService, IBuildOrderService buildOrderService) |
|
||||||
{ |
|
||||||
this.timingService = timingService; |
|
||||||
this.economyService = economyService; |
|
||||||
this.buildOrderService = buildOrderService; |
|
||||||
} |
|
||||||
|
|
||||||
public bool Add(EntityModel entity, int atInterval) |
|
||||||
{ |
|
||||||
throw new NotImplementedException(); |
|
||||||
} |
|
||||||
|
|
||||||
public int MeetsRequirements(EntityModel entity, int interval) |
|
||||||
{ |
|
||||||
var buildOrders = buildOrderService.GetCompletedBefore(interval); |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return -1; |
|
||||||
} |
|
||||||
|
|
||||||
public int MeetsAlloy(EntityModel entity, int interval) |
|
||||||
{ |
|
||||||
throw new NotImplementedException(); |
|
||||||
} |
|
||||||
|
|
||||||
public int MeetsEther(EntityModel entity, int interval) |
|
||||||
{ |
|
||||||
throw new NotImplementedException(); |
|
||||||
} |
|
||||||
|
|
||||||
public int MeetsPyre(EntityModel entity, int interval) |
|
||||||
{ |
|
||||||
throw new NotImplementedException(); |
|
||||||
} |
|
||||||
|
|
||||||
public int MeetsSupply(EntityModel entity, int interval) |
|
||||||
{ |
|
||||||
throw new NotImplementedException(); |
|
||||||
} |
|
||||||
|
|
||||||
public int MeetsTrainingQueue(EntityModel entity, int interval) |
|
||||||
{ |
|
||||||
throw new NotImplementedException(); |
|
||||||
} |
|
||||||
} |
|
||||||
Loading…
Reference in new issue