You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.6 KiB
86 lines
2.6 KiB
@inject IEconomyComparisonService economyComparisonService |
|
@implements IDisposable |
|
|
|
<FormLayoutComponent> |
|
<FormSelectComponent OnChange="@OnFactionChanged"> |
|
<FormLabelComponent>Faction</FormLabelComponent> |
|
<ChildContent> |
|
<option value="@DataType.FACTION_Aru" selected="@IsSelected(DataType.FACTION_Aru)">Aru</option> |
|
<option value="@DataType.FACTION_QRath" selected="@IsSelected(DataType.FACTION_QRath)">Q'Rath</option> |
|
</ChildContent> |
|
</FormSelectComponent> |
|
<ContentDividerComponent/> |
|
<FormNumberComponent Value="@TownHallCount" OnChange="ChangeTownHallNumber"> |
|
<FormLabelComponent>Number of TownHall Expansions</FormLabelComponent> |
|
</FormNumberComponent> |
|
<ContentDividerComponent/> |
|
|
|
@{ |
|
var index = 0; |
|
} |
|
@foreach (var timing in TownHallTimings) |
|
{ |
|
index++; |
|
|
|
<FormNumberComponent Value="@timing" OnChange="e => ChangeBuildTime(e, index - 1)"> |
|
<FormLabelComponent> |
|
TownHall build time |
|
</FormLabelComponent> |
|
</FormNumberComponent> |
|
} |
|
<ContentDividerComponent/> |
|
<FormTextComponent Label="Chart Color" Value="@ChartColor" OnChange="ChangeColor"/> |
|
</FormLayoutComponent> |
|
|
|
|
|
<style> |
|
|
|
</style> |
|
|
|
@code { |
|
|
|
[Parameter] |
|
public int ForPlayer { get; set; } |
|
|
|
private int TownHallCount => economyComparisonService.GetTownHallCount(ForPlayer); |
|
private string ChartColor => economyComparisonService.GetColor(ForPlayer); |
|
private string Faction => economyComparisonService.GetFaction(ForPlayer); |
|
private List<int> TownHallTimings => economyComparisonService.GetTownHallBuildTimes(ForPlayer); |
|
|
|
protected override void OnInitialized() |
|
{ |
|
base.OnInitialized(); |
|
economyComparisonService.Subscribe(StateHasChanged); |
|
} |
|
|
|
void IDisposable.Dispose() |
|
{ |
|
economyComparisonService.Unsubscribe(StateHasChanged); |
|
} |
|
|
|
private void OnFactionChanged(ChangeEventArgs obj) |
|
{ |
|
throw new NotImplementedException(); |
|
} |
|
|
|
private bool IsSelected(string factionType) |
|
{ |
|
return Faction.Equals(factionType); |
|
} |
|
|
|
private void ChangeColor(ChangeEventArgs obj) |
|
{ |
|
economyComparisonService.ChangeColor(ForPlayer, obj.Value!.ToString()!); |
|
} |
|
|
|
private void ChangeTownHallNumber(ChangeEventArgs obj) |
|
{ |
|
economyComparisonService.ChangeNumberOfTownHalls(ForPlayer, (int)obj.Value!); |
|
} |
|
|
|
private void ChangeBuildTime(ChangeEventArgs obj, int index) |
|
{ |
|
economyComparisonService.ChangeTownHallTiming(ForPlayer, index, (int)obj.Value!); |
|
} |
|
|
|
} |