feat(Documents) Notes/Docs page improvements and warning cleanup
This commit is contained in:
@@ -10,27 +10,29 @@
|
||||
<WebsiteTitleComponent>Database</WebsiteTitleComponent>
|
||||
|
||||
<PaperComponent>
|
||||
<FormDisplayComponent Label="Patch">
|
||||
<Display>
|
||||
Game Patch: @EntityModel.GameVersion
|
||||
</Display>
|
||||
</FormDisplayComponent>
|
||||
<FormDisplayComponent Label="Patch">
|
||||
<Display>
|
||||
Game Patch: @EntityModel.GameVersion
|
||||
</Display>
|
||||
</FormDisplayComponent>
|
||||
</PaperComponent>
|
||||
|
||||
|
||||
<div style="margin-left: 8px">
|
||||
<ButtonGroupComponent OnClick="((choice => { entityDisplayService.SetDisplayType(choice); }))" Choice="@entityDisplayService.GetDisplayType()" Choices="@entityDisplayService.DefaultChoices()"></ButtonGroupComponent>
|
||||
</div>
|
||||
|
||||
<ButtonGroupComponent OnClick="choice => { entityDisplayService.SetDisplayType(choice); }" Choice="@entityDisplayService.GetDisplayType()" Choices="@entityDisplayService.DefaultChoices()"></ButtonGroupComponent>
|
||||
</div>
|
||||
|
||||
<PaperComponent>
|
||||
<EntityFilterComponent></EntityFilterComponent>
|
||||
|
||||
@if (searches != null) {
|
||||
@if (searches != null)
|
||||
{
|
||||
<div class="databaseItems">
|
||||
@foreach (var entity in searches) {
|
||||
@foreach (var entity in searches)
|
||||
{
|
||||
<CascadingValue Value="entity">
|
||||
<CascadingValue Value="@entityDisplayService.GetDisplayType()">
|
||||
<EntityViewComponent></EntityViewComponent>
|
||||
</CascadingValue>
|
||||
</CascadingValue>
|
||||
</CascadingValue>
|
||||
}
|
||||
</div>
|
||||
@@ -112,16 +114,16 @@
|
||||
@code {
|
||||
|
||||
[Inject]
|
||||
public IEntityFilterService EntityFilterService { get; set; }
|
||||
public IEntityFilterService EntityFilterService { get; set; } = default!;
|
||||
|
||||
readonly List<EntityModel> defaults = (from entity in EntityModel.GetList()
|
||||
where entity.IsSpeculative == false
|
||||
select entity).ToList();
|
||||
|
||||
List<EntityModel> factions;
|
||||
List<EntityModel> immortals;
|
||||
List<EntityModel> entities;
|
||||
List<EntityModel> searches;
|
||||
List<EntityModel> factions = default!;
|
||||
List<EntityModel> immortals = default!;
|
||||
List<EntityModel> entities = default!;
|
||||
List<EntityModel> searches = default!;
|
||||
|
||||
|
||||
string selectedFactionType = FactionType.Any;
|
||||
@@ -129,44 +131,54 @@
|
||||
string selectedEntityType = EntityType.Army;
|
||||
string searchText = "";
|
||||
|
||||
protected override void OnInitialized() {
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
RefreshFactionSearch();
|
||||
|
||||
EntityFilterService.Subscribe(OnChange);
|
||||
entityDisplayService.Subscribe(StateHasChanged);
|
||||
}
|
||||
|
||||
void IDisposable.Dispose() {
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
EntityFilterService.Unsubscribe(OnChange);
|
||||
entityDisplayService.Unsubscribe(StateHasChanged);
|
||||
}
|
||||
|
||||
void OnChange(EntityFilterEvent filterEntityEvent) {
|
||||
if (filterEntityEvent == EntityFilterEvent.OnRefreshFaction) {
|
||||
void OnChange(EntityFilterEvent filterEntityEvent)
|
||||
{
|
||||
if (filterEntityEvent == EntityFilterEvent.OnRefreshFaction)
|
||||
{
|
||||
RefreshFactionSearch();
|
||||
}
|
||||
|
||||
if (filterEntityEvent == EntityFilterEvent.OnRefreshImmortal) {
|
||||
if (filterEntityEvent == EntityFilterEvent.OnRefreshImmortal)
|
||||
{
|
||||
RefreshImmortalSearch();
|
||||
}
|
||||
|
||||
if (filterEntityEvent == EntityFilterEvent.OnRefreshEntity) {
|
||||
if (filterEntityEvent == EntityFilterEvent.OnRefreshEntity)
|
||||
{
|
||||
RefreshEntitySearch();
|
||||
}
|
||||
|
||||
|
||||
if (filterEntityEvent == EntityFilterEvent.OnRefreshSearch) {
|
||||
if (filterEntityEvent == EntityFilterEvent.OnRefreshSearch)
|
||||
{
|
||||
RefreshTextSearch();
|
||||
}
|
||||
}
|
||||
|
||||
void RefreshFactionSearch() {
|
||||
void RefreshFactionSearch()
|
||||
{
|
||||
selectedFactionType = EntityFilterService.GetFactionType();
|
||||
|
||||
if (selectedFactionType == FactionType.Any) {
|
||||
if (selectedFactionType == FactionType.Any)
|
||||
{
|
||||
factions = defaults.ToList();
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
factions = (from entity in defaults
|
||||
where entity.Faction() != null && entity.Faction().Faction == selectedFactionType
|
||||
select entity).ToList();
|
||||
@@ -176,18 +188,22 @@
|
||||
}
|
||||
|
||||
|
||||
void OnImmortalChanged(ChangeEventArgs e) {
|
||||
selectedImmortalType = e.Value.ToString();
|
||||
void OnImmortalChanged(ChangeEventArgs e)
|
||||
{
|
||||
selectedImmortalType = e.Value!.ToString()!;
|
||||
RefreshImmortalSearch();
|
||||
}
|
||||
|
||||
void RefreshImmortalSearch() {
|
||||
void RefreshImmortalSearch()
|
||||
{
|
||||
selectedImmortalType = EntityFilterService.GetImmortalType();
|
||||
|
||||
if (selectedImmortalType == ImmortalType.Any) {
|
||||
if (selectedImmortalType == ImmortalType.Any)
|
||||
{
|
||||
immortals = factions.ToList();
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
immortals = (from entity in factions
|
||||
where entity.VanguardAdded() == null || entity.VanguardAdded().ImmortalId == selectedImmortalType
|
||||
select entity).ToList();
|
||||
@@ -196,18 +212,22 @@
|
||||
RefreshEntitySearch();
|
||||
}
|
||||
|
||||
void OnEntityChanged(ChangeEventArgs e) {
|
||||
selectedEntityType = e.Value.ToString();
|
||||
void OnEntityChanged(ChangeEventArgs e)
|
||||
{
|
||||
selectedEntityType = e.Value!.ToString()!;
|
||||
RefreshEntitySearch();
|
||||
}
|
||||
|
||||
void RefreshEntitySearch() {
|
||||
void RefreshEntitySearch()
|
||||
{
|
||||
selectedEntityType = EntityFilterService.GetEntityType();
|
||||
|
||||
if (selectedEntityType == EntityType.Any) {
|
||||
if (selectedEntityType == EntityType.Any)
|
||||
{
|
||||
entities = immortals.ToList();
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
entities = (from entity in immortals
|
||||
where entity.EntityType == selectedEntityType
|
||||
select entity).ToList();
|
||||
@@ -216,18 +236,22 @@
|
||||
RefreshTextSearch();
|
||||
}
|
||||
|
||||
void OnSearchTextChanged(ChangeEventArgs e) {
|
||||
searchText = e.Value.ToString();
|
||||
void OnSearchTextChanged(ChangeEventArgs e)
|
||||
{
|
||||
searchText = e.Value!.ToString()!;
|
||||
RefreshTextSearch();
|
||||
}
|
||||
|
||||
void RefreshTextSearch() {
|
||||
void RefreshTextSearch()
|
||||
{
|
||||
searchText = EntityFilterService.GetSearchText();
|
||||
|
||||
if (searchText.Trim() == "") {
|
||||
if (searchText.Trim() == "")
|
||||
{
|
||||
searches = entities.ToList();
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
searches = (from entity in entities
|
||||
where entity.Info().Name.ToLower().Contains(searchText.ToLower())
|
||||
select entity).ToList();
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
@implements IDisposable
|
||||
|
||||
<LayoutLargeContentComponent>
|
||||
|
||||
|
||||
<PaperComponent>
|
||||
<FormDisplayComponent Label="Patch">
|
||||
<Display>
|
||||
@@ -15,18 +15,19 @@
|
||||
</Display>
|
||||
</FormDisplayComponent>
|
||||
</PaperComponent>
|
||||
|
||||
|
||||
<div style="margin-left: 8px">
|
||||
<ButtonGroupComponent OnClick="((choice => { entityDisplayService.SetDisplayType(choice); }))" Choice="@entityDisplayService.GetDisplayType()" Choices="@entityDisplayService.DefaultChoices()"></ButtonGroupComponent>
|
||||
<ButtonGroupComponent OnClick="choice => { entityDisplayService.SetDisplayType(choice); }" Choice="@entityDisplayService.GetDisplayType()" Choices="@entityDisplayService.DefaultChoices()"></ButtonGroupComponent>
|
||||
</div>
|
||||
|
||||
|
||||
@if(Text.Trim().ToLower().Equals("walter"))
|
||||
|
||||
@if (Text!.Trim().ToLower().Equals("walter"))
|
||||
{
|
||||
<PaperComponent>
|
||||
<CodeComponent>Unhandled Exception: EXCEPTION_MEMORY_SIZE_VIOLATION
|
||||
<CodeComponent>
|
||||
Unhandled Exception: EXCEPTION_MEMORY_SIZE_VIOLATION
|
||||
UNIT_WALTER too powerful to be displayed.
|
||||
|
||||
|
||||
This SHOULD NEVER HAPPEN!
|
||||
</CodeComponent>
|
||||
</PaperComponent>
|
||||
@@ -37,36 +38,35 @@
|
||||
<div>Invalid entity name entered: @Text</div>
|
||||
<div>No such entity. Did you mean <b>"Throne"</b>?</div>
|
||||
</PaperComponent>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
<PaperComponent>
|
||||
<CascadingValue Value="entity">
|
||||
<CascadingValue Value="@entityDisplayService.GetDisplayType()">
|
||||
|
||||
|
||||
<EntityViewComponent></EntityViewComponent>
|
||||
</CascadingValue>
|
||||
</CascadingValue>
|
||||
|
||||
</PaperComponent>
|
||||
</PaperComponent>
|
||||
}
|
||||
|
||||
|
||||
</LayoutLargeContentComponent>
|
||||
|
||||
|
||||
|
||||
@code {
|
||||
|
||||
[Parameter]
|
||||
public string? Text { get; set; }
|
||||
|
||||
private EntityModel? entity = null;
|
||||
|
||||
private EntityModel? entity;
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
|
||||
entityDisplayService.Subscribe(StateHasChanged);
|
||||
|
||||
|
||||
foreach (var e in DATA.Get().Values)
|
||||
{
|
||||
if (e.Info().Name.Equals(Text))
|
||||
@@ -76,8 +76,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void IDisposable.Dispose() {
|
||||
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
entityDisplayService.Unsubscribe(StateHasChanged);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
@if (Entity != null) {
|
||||
@if (Entity != null)
|
||||
{
|
||||
var isVanguard = Entity.VanguardAdded() != null ? " vanguard" : "";
|
||||
|
||||
<div class="enititiesContainer @isVanguard">
|
||||
@@ -47,9 +48,11 @@
|
||||
</style>
|
||||
|
||||
@code {
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
|
||||
|
||||
[CascadingParameter]
|
||||
public string? StyleType { get; set; }
|
||||
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
@if (Entity.IdAbilities().Count > 0) {
|
||||
@if (Entity!.IdAbilities().Count > 0)
|
||||
{
|
||||
@if (StyleType.Equals("Plain"))
|
||||
{
|
||||
@foreach (var idAbility in Entity.IdAbilities()) {
|
||||
@foreach (var idAbility in Entity.IdAbilities())
|
||||
{
|
||||
var spell = EntityModel.Get(idAbility.Id);
|
||||
|
||||
var info = spell.Info();
|
||||
@@ -14,26 +16,31 @@
|
||||
<div>
|
||||
<b>- Description:</b> @((MarkupString)info.Description)
|
||||
</div>
|
||||
|
||||
@if (!info.Notes.Trim().Equals("")) {
|
||||
|
||||
@if (!info.Notes.Trim().Equals(""))
|
||||
{
|
||||
<div>
|
||||
<b>- Notes:</b> @((MarkupString)info.Notes)
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
<div>
|
||||
@if (production != null) {
|
||||
if (production.Energy != 0) {
|
||||
@if (production != null)
|
||||
{
|
||||
if (production.Energy != 0)
|
||||
{
|
||||
<div>
|
||||
<b>- Energy: </b> @production.Energy
|
||||
</div>
|
||||
}
|
||||
if (production.BuildTime != 0) {
|
||||
if (production.BuildTime != 0)
|
||||
{
|
||||
<div>
|
||||
<b>- BuildTime: </b> @production.BuildTime
|
||||
<b>- BuildTime: </b> @production.BuildTime
|
||||
</div>
|
||||
}
|
||||
if (production.Cooldown != 0) {
|
||||
if (production.Cooldown != 0)
|
||||
{
|
||||
<div>
|
||||
<b>- Cooldown: </b> @production.Cooldown
|
||||
</div>
|
||||
@@ -42,13 +49,12 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
<EntityDisplayComponent Title="Abilities">
|
||||
@foreach (var idAbility in Entity.IdAbilities()) {
|
||||
@foreach (var idAbility in Entity.IdAbilities())
|
||||
{
|
||||
var spell = EntityModel.Get(idAbility.Id);
|
||||
|
||||
var info = spell.Info();
|
||||
@@ -61,26 +67,31 @@
|
||||
<div>
|
||||
<b>Description:</b> @((MarkupString)info.Description)
|
||||
</div>
|
||||
|
||||
@if (!info.Notes.Trim().Equals("")) {
|
||||
|
||||
@if (!info.Notes.Trim().Equals(""))
|
||||
{
|
||||
<div>
|
||||
<b>Notes:</b> @((MarkupString)info.Notes)
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
<div>
|
||||
@if (production != null) {
|
||||
if (production.Energy != 0) {
|
||||
@if (production != null)
|
||||
{
|
||||
if (production.Energy != 0)
|
||||
{
|
||||
<div>
|
||||
<b> Energy: </b> @production.Energy
|
||||
</div>
|
||||
}
|
||||
if (production.BuildTime != 0) {
|
||||
if (production.BuildTime != 0)
|
||||
{
|
||||
<div>
|
||||
<b> BuildTime: </b> @production.BuildTime
|
||||
<b> BuildTime: </b> @production.BuildTime
|
||||
</div>
|
||||
}
|
||||
if (production.Cooldown != 0) {
|
||||
if (production.Cooldown != 0)
|
||||
{
|
||||
<div>
|
||||
<b> Cooldown: </b> @production.Cooldown
|
||||
</div>
|
||||
@@ -89,19 +100,18 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</EntityDisplayComponent>
|
||||
</EntityDisplayComponent>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@code {
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
public EntityModel? Entity { get; set; } = default!;
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,11 +1,12 @@
|
||||
@if (StyleType.Equals("Plain"))
|
||||
{
|
||||
<div><b>@Entity?.Info().Name</b>
|
||||
@if (Entity?.Info().Descriptive != DescriptiveType.None)
|
||||
{
|
||||
<span>, @Entity?.Info().Descriptive.Replace("_", " ")</span>
|
||||
}
|
||||
</div>
|
||||
<div>
|
||||
<b>@Entity?.Info().Name</b>
|
||||
@if (Entity?.Info().Descriptive != DescriptiveType.None)
|
||||
{
|
||||
<span>, @Entity?.Info().Descriptive.Replace("_", " ")</span>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -18,7 +19,7 @@ else
|
||||
@if (Entity?.Info().Descriptive != DescriptiveType.None)
|
||||
{
|
||||
<span>
|
||||
<b>:</b> @Entity.Info().Descriptive.Replace("_", " ")
|
||||
<b>:</b> @Entity!.Info().Descriptive.Replace("_", " ")
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
@@ -53,9 +54,9 @@ else
|
||||
@code {
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
public EntityModel? Entity { get; set; } = default!;
|
||||
|
||||
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
|
||||
@@ -1,34 +1,38 @@
|
||||
|
||||
@if (StyleType.Equals("Plain"))
|
||||
@if (StyleType.Equals("Plain"))
|
||||
{
|
||||
@if (Entity.Info().Description != "") {
|
||||
@if (Entity!.Info().Description != "")
|
||||
{
|
||||
<div>
|
||||
<b>Description:</b> @((MarkupString)Entity.Info().Description)
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Entity.Info().Notes != "") {
|
||||
@if (Entity.Info().Notes != "")
|
||||
{
|
||||
<div>
|
||||
<b>Notes:</b> @((MarkupString)Entity.Info().Notes)
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
|
||||
<div class="infoDisplayContainer">
|
||||
<div>
|
||||
@if (Entity.Faction() != null) {
|
||||
@if (Entity.Faction() != null)
|
||||
{
|
||||
<div>
|
||||
<b>Faction:</b> @Entity.Faction().Faction
|
||||
</div>
|
||||
}
|
||||
@if (Entity.Tier() != null) {
|
||||
@if (Entity.Tier() != null)
|
||||
{
|
||||
<div>
|
||||
<b>Tier:</b> @Entity.Tier().Tier
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@if (Entity.Hotkey() != null) {
|
||||
@if (Entity.Hotkey() != null)
|
||||
{
|
||||
<div>
|
||||
<div>
|
||||
<b>Hotkey Group:</b> @Entity.Hotkey().HotkeyGroup
|
||||
@@ -46,34 +50,39 @@
|
||||
else
|
||||
{
|
||||
<EntityDisplayComponent Title="Info">
|
||||
@if (Entity.Info().Description != "") {
|
||||
@if (Entity!.Info().Description != "")
|
||||
{
|
||||
<div>
|
||||
<b>Description:</b> @((MarkupString)Entity.Info().Description)
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Entity.Info().Notes != "") {
|
||||
@if (Entity.Info().Notes != "")
|
||||
{
|
||||
<div>
|
||||
<b>Notes:</b> @((MarkupString)Entity.Info().Notes)
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
|
||||
<div class="infoDisplayContainer">
|
||||
<div>
|
||||
@if (Entity.Faction() != null) {
|
||||
@if (Entity.Faction() != null)
|
||||
{
|
||||
<div>
|
||||
<b>Faction:</b> @Entity.Faction().Faction
|
||||
</div>
|
||||
}
|
||||
@if (Entity.Tier() != null) {
|
||||
@if (Entity.Tier() != null)
|
||||
{
|
||||
<div>
|
||||
<b>Tier:</b> @Entity.Tier().Tier
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@if (Entity.Hotkey() != null) {
|
||||
@if (Entity.Hotkey() != null)
|
||||
{
|
||||
<div>
|
||||
<div>
|
||||
<b>Hotkey Group:</b> @Entity.Hotkey().HotkeyGroup
|
||||
@@ -101,7 +110,7 @@ else
|
||||
gap: 4px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
}
|
||||
|
||||
|
||||
@@ -109,7 +118,7 @@ else
|
||||
@code {
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
public EntityModel? Entity { get; set; } = default!;
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
@if (Entity.Mechanics().Count > 0) {
|
||||
@if (Entity!.Mechanics().Count > 0)
|
||||
{
|
||||
<EntityDisplayComponent Title="Mechanics">
|
||||
<div>
|
||||
@foreach (var data in Entity.Mechanics()) {
|
||||
@foreach (var data in Entity.Mechanics())
|
||||
{
|
||||
<div>
|
||||
<div>
|
||||
<span>
|
||||
@@ -22,8 +24,8 @@
|
||||
@code {
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
|
||||
public EntityModel? Entity { get; set; } = default!;
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
|
||||
@@ -1,100 +1,106 @@
|
||||
@if (Entity.IdPassives().Count > 0) {
|
||||
@if (Entity!.IdPassives().Count > 0)
|
||||
{
|
||||
@if (StyleType.Equals("Plain"))
|
||||
{
|
||||
@foreach (var idPassive in Entity.IdPassives()) {
|
||||
@foreach (var idPassive in Entity.IdPassives())
|
||||
{
|
||||
var passive = EntityModel.Get(idPassive.Id);
|
||||
|
||||
var info = passive.Info();
|
||||
|
||||
|
||||
var production = passive.Production();
|
||||
|
||||
<div>
|
||||
<div>
|
||||
<b>Name:</b> @info.Name
|
||||
<b>Name:</b> @info.Name
|
||||
</div>
|
||||
<div>
|
||||
<b>- Description:</b> @((MarkupString)info.Description)
|
||||
</div>
|
||||
|
||||
@if (!info.Notes.Trim().Equals("")) {
|
||||
|
||||
|
||||
@if (!info.Notes.Trim().Equals(""))
|
||||
{
|
||||
<div>
|
||||
<b>- Description:</b> @((MarkupString)info.Notes)
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@if (production != null) {
|
||||
|
||||
@if (production != null)
|
||||
{
|
||||
<div>
|
||||
@if (production.Pyre != 0) {
|
||||
@if (production.Pyre != 0)
|
||||
{
|
||||
<div>
|
||||
<b>- Pyre:</b> @production.Pyre
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if (production.Cooldown != 0) {
|
||||
@if (production.Cooldown != 0)
|
||||
{
|
||||
<div>
|
||||
<b>- Cooldown:</b> @production.Cooldown.ToString()s
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
<EntityDisplayComponent Title="Passives">
|
||||
@foreach (var idPassive in Entity.IdPassives()) {
|
||||
@foreach (var idPassive in Entity.IdPassives())
|
||||
{
|
||||
var passive = EntityModel.Get(idPassive.Id);
|
||||
|
||||
var info = passive.Info();
|
||||
|
||||
|
||||
var production = passive.Production();
|
||||
|
||||
<div>
|
||||
<div>
|
||||
<b>Name:</b> <EntityLabelComponent EntityId="@passive.DataType"/>
|
||||
<b>Name:</b> <EntityLabelComponent EntityId="@passive.DataType"/>
|
||||
</div>
|
||||
<div>
|
||||
<b>Description:</b> @((MarkupString)info.Description)
|
||||
</div>
|
||||
|
||||
@if (!info.Notes.Trim().Equals("")) {
|
||||
|
||||
|
||||
@if (!info.Notes.Trim().Equals(""))
|
||||
{
|
||||
<div>
|
||||
<b>Description:</b> @((MarkupString)info.Notes)
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@if (production != null) {
|
||||
|
||||
@if (production != null)
|
||||
{
|
||||
<div>
|
||||
@if (production.Pyre != 0) {
|
||||
@if (production.Pyre != 0)
|
||||
{
|
||||
<div>
|
||||
<b>Pyre:</b> @production.Pyre
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if (production.Cooldown != 0) {
|
||||
@if (production.Cooldown != 0)
|
||||
{
|
||||
<div>
|
||||
<b>Cooldown:</b> @production.Cooldown.ToString()s
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</EntityDisplayComponent>
|
||||
</EntityDisplayComponent>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@code {
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
public EntityModel? Entity { get; set; } = default!;
|
||||
|
||||
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
|
||||
@@ -1,87 +1,99 @@
|
||||
@if (Production != null || Supply != null || Requirements.Count > 0) {
|
||||
|
||||
@if (Production != null || Supply != null || Requirements.Count > 0)
|
||||
{
|
||||
@if (StyleType.Equals("Plain"))
|
||||
{
|
||||
@if (Requirements.Count() > 0) {
|
||||
@if (Requirements.Count() > 0)
|
||||
{
|
||||
<div>
|
||||
@foreach (var requirement in Requirements)
|
||||
{
|
||||
var replaced = DATA.Get()[requirement.DataType];
|
||||
<div>
|
||||
@foreach (var requirement in Requirements)
|
||||
{
|
||||
var replaced = DATA.Get()[requirement.DataType];
|
||||
<div>
|
||||
|
||||
<span>
|
||||
<b>@requirement.Requirement.Replace("_", " "):</b> @replaced.Info().Name
|
||||
</span>
|
||||
</div>
|
||||
}
|
||||
<span>
|
||||
<b>@requirement.Requirement.Replace("_", " "):</b> @replaced.Info().Name
|
||||
</span>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Production != null && (!Production.Alloy.Equals(0)
|
||||
|| !Production.Ether.Equals(0)
|
||||
|| !Production.BuildTime.Equals(0)
|
||||
|| !Production.Cooldown.Equals(0)))
|
||||
{
|
||||
<div>
|
||||
@if (!Production.Alloy.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Alloy:</b> @Production.Alloy
|
||||
</div>
|
||||
}
|
||||
@if (!Production.Ether.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Ether:</b> @Production.Ether
|
||||
</div>
|
||||
}
|
||||
@if (!Production.Pyre.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Pyre:</b> @Production.Pyre
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Production != null && (!Production.Alloy.Equals(0)
|
||||
|| !Production.Ether.Equals(0)
|
||||
|| !Production.BuildTime.Equals(0)
|
||||
|| !Production.Cooldown.Equals(0))) {
|
||||
<div>
|
||||
@if (!Production.Alloy.Equals(0)) {
|
||||
<div>
|
||||
<b>Alloy:</b> @Production.Alloy
|
||||
</div>
|
||||
}
|
||||
@if (!Production.Ether.Equals(0)) {
|
||||
<div>
|
||||
<b>Ether:</b> @Production.Ether
|
||||
</div>
|
||||
}
|
||||
@if (!Production.Pyre.Equals(0)) {
|
||||
<div>
|
||||
<b>Pyre:</b> @Production.Pyre
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (!Production.BuildTime.Equals(0)) {
|
||||
<div>
|
||||
<b>Build Time:</b> @Production.BuildTime.ToString()s
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (!Production.Energy.Equals(0)) {
|
||||
<div>
|
||||
<b>Energy:</b> @Production.Energy
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
@if (!Production.Cooldown.Equals(0)) {
|
||||
<div>
|
||||
<b>Cooldown:</b> @Production.Cooldown.ToString()s
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if (Supply != null) {
|
||||
@if (!Production.BuildTime.Equals(0))
|
||||
{
|
||||
<div>
|
||||
@if (!Supply.Grants.Equals(0)) {
|
||||
<div>
|
||||
<b>Grants:</b> @Supply.Grants
|
||||
</div>
|
||||
}
|
||||
@if (!Supply.Takes.Equals(0)) {
|
||||
<div>
|
||||
<b>Takes:</b> @Supply.Takes Supply
|
||||
</div>
|
||||
}
|
||||
<b>Build Time:</b> @Production.BuildTime.ToString()s
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (!Production.Energy.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Energy:</b> @Production.Energy
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
@if (!Production.Cooldown.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Cooldown:</b> @Production.Cooldown.ToString()s
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if (Supply != null)
|
||||
{
|
||||
<div>
|
||||
@if (!Supply.Grants.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Grants:</b> @Supply.Grants
|
||||
</div>
|
||||
}
|
||||
@if (!Supply.Takes.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Takes:</b> @Supply.Takes Supply
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
|
||||
<EntityDisplayComponent Title="Production">
|
||||
<div class="ProductionContainer">
|
||||
@if (Requirements.Count() > 0) {
|
||||
@if (Requirements.Count() > 0)
|
||||
{
|
||||
<div>
|
||||
@foreach (var requirement in Requirements) {
|
||||
@foreach (var requirement in Requirements)
|
||||
{
|
||||
<div>
|
||||
|
||||
<span>
|
||||
@@ -95,52 +107,62 @@
|
||||
@if (Production != null && (!Production.Alloy.Equals(0)
|
||||
|| !Production.Ether.Equals(0)
|
||||
|| !Production.BuildTime.Equals(0)
|
||||
|| !Production.Cooldown.Equals(0))) {
|
||||
<div>
|
||||
@if (!Production.Alloy.Equals(0)) {
|
||||
<div>
|
||||
<b>Alloy:</b> @Production.Alloy
|
||||
</div>
|
||||
}
|
||||
@if (!Production.Ether.Equals(0)) {
|
||||
<div>
|
||||
<b>Ether:</b> @Production.Ether
|
||||
</div>
|
||||
}
|
||||
@if (!Production.Pyre.Equals(0)) {
|
||||
<div>
|
||||
<b>Pyre:</b> @Production.Pyre
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (!Production.BuildTime.Equals(0)) {
|
||||
<div>
|
||||
<b>Build Time:</b> @Production.BuildTime.ToString()s
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (!Production.Energy.Equals(0)) {
|
||||
<div>
|
||||
<b>Energy:</b> @Production.Energy
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
@if (!Production.Cooldown.Equals(0)) {
|
||||
<div>
|
||||
<b>Cooldown:</b> @Production.Cooldown.ToString()s
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if (Supply != null) {
|
||||
|| !Production.Cooldown.Equals(0)))
|
||||
{
|
||||
<div>
|
||||
@if (!Supply.Grants.Equals(0)) {
|
||||
@if (!Production.Alloy.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Alloy:</b> @Production.Alloy
|
||||
</div>
|
||||
}
|
||||
@if (!Production.Ether.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Ether:</b> @Production.Ether
|
||||
</div>
|
||||
}
|
||||
@if (!Production.Pyre.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Pyre:</b> @Production.Pyre
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (!Production.BuildTime.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Build Time:</b> @Production.BuildTime.ToString()s
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (!Production.Energy.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Energy:</b> @Production.Energy
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
@if (!Production.Cooldown.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Cooldown:</b> @Production.Cooldown.ToString()s
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if (Supply != null)
|
||||
{
|
||||
<div>
|
||||
@if (!Supply.Grants.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Grants:</b> @Supply.Grants
|
||||
</div>
|
||||
}
|
||||
@if (!Supply.Takes.Equals(0)) {
|
||||
@if (!Supply.Takes.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Takes:</b> @Supply.Takes Supply
|
||||
</div>
|
||||
@@ -149,8 +171,8 @@
|
||||
}
|
||||
</div>
|
||||
</EntityDisplayComponent>
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
.ProductionContainer {
|
||||
display: flex;
|
||||
@@ -164,7 +186,6 @@
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,14 +194,14 @@
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
|
||||
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
|
||||
private EntityProductionModel Production => Entity.Production();
|
||||
private List<EntityRequirementModel> Requirements => Entity.Requirements();
|
||||
private EntitySupplyModel Supply => Entity.Supply();
|
||||
private EntityProductionModel Production => Entity!.Production();
|
||||
private List<EntityRequirementModel> Requirements => Entity!.Requirements();
|
||||
private EntitySupplyModel Supply => Entity!.Supply();
|
||||
|
||||
|
||||
protected override void OnParametersSet()
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
@if (Entity.IdPyreSpells().Count > 0)
|
||||
@if (Entity!.IdPyreSpells().Count > 0)
|
||||
{
|
||||
@if (StyleType.Equals("Plain"))
|
||||
{
|
||||
@foreach (var pyreSpell in Entity.IdPyreSpells()) {
|
||||
@foreach (var pyreSpell in Entity.IdPyreSpells())
|
||||
{
|
||||
var spell = EntityModel.Get(pyreSpell.Id);
|
||||
|
||||
var info = spell.Info();
|
||||
@@ -16,16 +17,20 @@
|
||||
<b>- Description:</b> @((MarkupString)info.Description)
|
||||
</div>
|
||||
<div>
|
||||
@if (production != null) {
|
||||
if (production.Pyre != 0) {
|
||||
@if (production != null)
|
||||
{
|
||||
if (production.Pyre != 0)
|
||||
{
|
||||
<b>- Pyre: </b>
|
||||
@production.Pyre
|
||||
}
|
||||
if (production.BuildTime != 0) {
|
||||
if (production.BuildTime != 0)
|
||||
{
|
||||
<b>- BuildTime: </b>
|
||||
@production.BuildTime
|
||||
}
|
||||
if (production.Cooldown != 0) {
|
||||
if (production.Cooldown != 0)
|
||||
{
|
||||
<b>- Cooldown: </b>
|
||||
@production.Cooldown
|
||||
}
|
||||
@@ -33,12 +38,12 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
<EntityDisplayComponent Title="Pyre Spells">
|
||||
@foreach (var pyreSpell in Entity.IdPyreSpells()) {
|
||||
@foreach (var pyreSpell in Entity.IdPyreSpells())
|
||||
{
|
||||
var spell = EntityModel.Get(pyreSpell.Id);
|
||||
|
||||
var info = spell.Info();
|
||||
@@ -52,16 +57,20 @@
|
||||
<b>Description:</b> @((MarkupString)info.Description)
|
||||
</div>
|
||||
<div>
|
||||
@if (production != null) {
|
||||
if (production.Pyre != 0) {
|
||||
@if (production != null)
|
||||
{
|
||||
if (production.Pyre != 0)
|
||||
{
|
||||
<b> Pyre: </b>
|
||||
@production.Pyre
|
||||
}
|
||||
if (production.BuildTime != 0) {
|
||||
if (production.BuildTime != 0)
|
||||
{
|
||||
<b> BuildTime: </b>
|
||||
@production.BuildTime
|
||||
}
|
||||
if (production.Cooldown != 0) {
|
||||
if (production.Cooldown != 0)
|
||||
{
|
||||
<b> Cooldown: </b>
|
||||
@production.Cooldown
|
||||
}
|
||||
@@ -70,7 +79,6 @@
|
||||
</div>
|
||||
}
|
||||
</EntityDisplayComponent>
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,9 +86,9 @@
|
||||
@code {
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
|
||||
|
||||
public EntityModel? Entity { get; set; } = default!;
|
||||
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
|
||||
@@ -1,97 +1,112 @@
|
||||
|
||||
@if (Vitality != null || Movement != null) {
|
||||
@if (Vitality != null || Movement != null)
|
||||
{
|
||||
@if (StyleType.Equals("Plain"))
|
||||
{
|
||||
@if (Vitality != null) {
|
||||
@if (Vitality != null)
|
||||
{
|
||||
<div>
|
||||
@if (!Vitality.DefenseLayer.Equals(0))
|
||||
{
|
||||
<div>
|
||||
@if (!Vitality.DefenseLayer.Equals(0)) {
|
||||
<div>
|
||||
<b>Shield:</b> @Vitality.DefenseLayer
|
||||
</div>
|
||||
}
|
||||
@if (!Vitality.Health.Equals(0)) {
|
||||
<div>
|
||||
<b>Health:</b> @Vitality.Health
|
||||
</div>
|
||||
}
|
||||
@if (!Vitality.Energy.Equals(0)) {
|
||||
<div>
|
||||
<b>Energy:</b> @Vitality.Energy
|
||||
</div>
|
||||
}
|
||||
@if (Vitality.Armor != "") {
|
||||
<div>
|
||||
<b>Armor:</b> @Vitality.Armor
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Vitality.IsEtheric) {
|
||||
<div>
|
||||
<b> + Etheric</b>
|
||||
</div>
|
||||
}
|
||||
@if (Vitality.IsStructure) {
|
||||
<div>
|
||||
<b> + Structure</b>
|
||||
</div>
|
||||
}
|
||||
<b>Shield:</b> @Vitality.DefenseLayer
|
||||
</div>
|
||||
}
|
||||
@if (!Vitality.Health.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Health:</b> @Vitality.Health
|
||||
</div>
|
||||
}
|
||||
@if (!Vitality.Energy.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Energy:</b> @Vitality.Energy
|
||||
</div>
|
||||
}
|
||||
@if (Vitality.Armor != "")
|
||||
{
|
||||
<div>
|
||||
<b>Armor:</b> @Vitality.Armor
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
@if (Movement != null) {
|
||||
@if (Vitality.IsEtheric)
|
||||
{
|
||||
<div>
|
||||
@if (!Movement.Speed.Equals(0)) {
|
||||
<div>
|
||||
<b>Speed:</b> @Movement.Speed
|
||||
</div>
|
||||
}
|
||||
else {
|
||||
<div>
|
||||
<b>Speed:</b> Immobile
|
||||
</div>
|
||||
}
|
||||
<div>
|
||||
<b>Move Type:</b> @Movement.Movement
|
||||
</div>
|
||||
<b> + Etheric</b>
|
||||
</div>
|
||||
}
|
||||
@if (Vitality.IsStructure)
|
||||
{
|
||||
<div>
|
||||
<b> + Structure</b>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
@if (Movement != null)
|
||||
{
|
||||
<div>
|
||||
@if (!Movement.Speed.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Speed:</b> @Movement.Speed
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div>
|
||||
<b>Speed:</b> Immobile
|
||||
</div>
|
||||
}
|
||||
<div>
|
||||
<b>Move Type:</b> @Movement.Movement
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
<EntityDisplayComponent Title="Stats">
|
||||
<div class="statContainer">
|
||||
@if (Vitality != null) {
|
||||
@if (Vitality != null)
|
||||
{
|
||||
<div>
|
||||
@if (!Vitality.DefenseLayer.Equals(0)) {
|
||||
@if (!Vitality.DefenseLayer.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Shield:</b> @Vitality.DefenseLayer
|
||||
</div>
|
||||
}
|
||||
@if (!Vitality.Health.Equals(0)) {
|
||||
@if (!Vitality.Health.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Health:</b> @Vitality.Health
|
||||
</div>
|
||||
}
|
||||
@if (!Vitality.Energy.Equals(0)) {
|
||||
@if (!Vitality.Energy.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Energy:</b> @Vitality.Energy
|
||||
</div>
|
||||
}
|
||||
@if (Vitality.Armor != "") {
|
||||
@if (Vitality.Armor != "")
|
||||
{
|
||||
<div>
|
||||
<b>Armor:</b> @Vitality.Armor
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Vitality.IsEtheric) {
|
||||
@if (Vitality.IsEtheric)
|
||||
{
|
||||
<div>
|
||||
<b> + Etheric</b>
|
||||
</div>
|
||||
}
|
||||
@if (Vitality.IsStructure) {
|
||||
@if (Vitality.IsStructure)
|
||||
{
|
||||
<div>
|
||||
<b> + Structure</b>
|
||||
</div>
|
||||
@@ -100,14 +115,17 @@
|
||||
}
|
||||
|
||||
|
||||
@if (Movement != null) {
|
||||
@if (Movement != null)
|
||||
{
|
||||
<div>
|
||||
@if (!Movement.Speed.Equals(0)) {
|
||||
@if (!Movement.Speed.Equals(0))
|
||||
{
|
||||
<div>
|
||||
<b>Speed:</b> @Movement.Speed
|
||||
</div>
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
<div>
|
||||
<b>Speed:</b> Immobile
|
||||
</div>
|
||||
@@ -132,21 +150,20 @@
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@code {
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; } = default!;
|
||||
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
|
||||
private EntityVitalityModel Vitality => Entity.Vitality();
|
||||
private EntityMovementModel Movement => Entity.Movement();
|
||||
|
||||
private EntityVitalityModel Vitality => Entity!.Vitality();
|
||||
private EntityMovementModel Movement => Entity!.Movement();
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
@if (Entity.IdUpgrades().Count > 0) {
|
||||
@if (Entity!.IdUpgrades().Count > 0)
|
||||
{
|
||||
@if (StyleType.Equals("Plain"))
|
||||
{
|
||||
@foreach (var upgradeId in Entity.IdUpgrades()) {
|
||||
@foreach (var upgradeId in Entity.IdUpgrades())
|
||||
{
|
||||
var entity = EntityModel.Get(upgradeId.Id);
|
||||
<div>
|
||||
<div>
|
||||
@@ -12,13 +14,13 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
<EntityDisplayComponent Title="Upgrades">
|
||||
<div class="upgradesContainer">
|
||||
@foreach (var upgradeId in Entity.IdUpgrades()) {
|
||||
@foreach (var upgradeId in Entity.IdUpgrades())
|
||||
{
|
||||
var entity = EntityModel.Get(upgradeId.Id);
|
||||
<div>
|
||||
<div>
|
||||
@@ -30,9 +32,9 @@
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</EntityDisplayComponent>
|
||||
|
||||
|
||||
</EntityDisplayComponent>
|
||||
|
||||
|
||||
<style>
|
||||
.upgradesContainer {
|
||||
display: flex;
|
||||
@@ -47,16 +49,15 @@
|
||||
}
|
||||
</style>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@code {
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
public EntityModel? Entity { get; set; } = default!;
|
||||
|
||||
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
@if (Vanguard != null) {
|
||||
@if (Vanguard != null)
|
||||
{
|
||||
var immortalId = Vanguard.ImmortalId;
|
||||
var immortal = DATA.Get()[immortalId];
|
||||
|
||||
|
||||
var replaced = DATA.Get()[Vanguard.ReplaceId];
|
||||
|
||||
|
||||
@if (StyleType.Equals("Plain"))
|
||||
{
|
||||
<div>
|
||||
<b>Immortal:</b> @immortal.Info().Name
|
||||
</div>
|
||||
@if (!Vanguard.ReplaceId.Equals("")) {
|
||||
@if (!Vanguard.ReplaceId.Equals(""))
|
||||
{
|
||||
<div>
|
||||
<b>Replaces:</b> @replaced.Info().Name
|
||||
<b>Replaces:</b> @replaced.Info().Name
|
||||
</div>
|
||||
}
|
||||
}
|
||||
@@ -22,25 +24,27 @@
|
||||
<div>
|
||||
<b>Immortal:</b> <EntityLabelComponent EntityId="@immortal.DataType"/>
|
||||
</div>
|
||||
@if (!Vanguard.ReplaceId.Equals("")) {
|
||||
@if (!Vanguard.ReplaceId.Equals(""))
|
||||
{
|
||||
<div>
|
||||
<b>Replaces:</b> <EntityLabelComponent EntityId="@Vanguard.ReplaceId"></EntityLabelComponent>
|
||||
<b>Replaces:</b> <EntityLabelComponent EntityId="@Vanguard.ReplaceId"></EntityLabelComponent>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</EntityDisplayComponent>
|
||||
</EntityDisplayComponent>
|
||||
}
|
||||
}
|
||||
|
||||
@code {
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
|
||||
public EntityModel? Entity { get; set; } = default!;
|
||||
|
||||
private EntityVanguardAddedModel? Vanguard => Entity?.VanguardAdded();
|
||||
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
@if (Entity.IdVanguards().Count > 0) {
|
||||
@if (Entity!.IdVanguards().Count > 0)
|
||||
{
|
||||
@if (StyleType.Equals("Plain"))
|
||||
{
|
||||
@foreach (var data in Entity.IdVanguards()) {
|
||||
@foreach (var data in Entity.IdVanguards())
|
||||
{
|
||||
var entity = EntityModel.Get(data.Id);
|
||||
|
||||
var requirements = entity.Requirements();
|
||||
@@ -9,7 +11,7 @@
|
||||
var replaced = DATA.Get()[vanguardAdded.ReplaceId];
|
||||
var immortal = DATA.Get()[vanguardAdded.ImmortalId];
|
||||
|
||||
|
||||
|
||||
var productionBuilding = (from building in requirements
|
||||
where building.Requirement == RequirementType.Production_Building
|
||||
select building).First().DataType;
|
||||
@@ -22,7 +24,7 @@
|
||||
<b>- Replaces:</b> @replaced.Info().Name
|
||||
</div>
|
||||
<div>
|
||||
<b>- Built From:</b> @immortal.Info().Name
|
||||
<b>- Built From:</b> @immortal.Info().Name
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@@ -30,7 +32,8 @@
|
||||
else
|
||||
{
|
||||
<EntityDisplayComponent Title="Vanguards">
|
||||
@foreach (var data in Entity.IdVanguards()) {
|
||||
@foreach (var data in Entity.IdVanguards())
|
||||
{
|
||||
var entity = EntityModel.Get(data.Id);
|
||||
|
||||
var requirements = entity.Requirements();
|
||||
@@ -44,7 +47,7 @@
|
||||
<b>Name:</b> <EntityLabelComponent EntityId="@entity.DataType"/>
|
||||
</div>
|
||||
<div>
|
||||
<b>Replaces:</b> <EntityLabelComponent EntityId="@vanguard.ReplaceId"/>
|
||||
<b>Replaces:</b> <EntityLabelComponent EntityId="@vanguard.ReplaceId"/>
|
||||
</div>
|
||||
<div>
|
||||
<b>Built From:</b> <EntityLabelComponent EntityId="@productionBuilding"/>
|
||||
@@ -52,17 +55,15 @@
|
||||
</div>
|
||||
}
|
||||
</EntityDisplayComponent>
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@code {
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
|
||||
|
||||
public EntityModel? Entity { get; set; } = default!;
|
||||
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
|
||||
@@ -1,205 +1,204 @@
|
||||
@if (Entity.Weapons().Count > 0)
|
||||
@if (Entity!.Weapons().Count > 0)
|
||||
{
|
||||
@if (StyleType.Equals("Plain"))
|
||||
{
|
||||
int index = 0;
|
||||
|
||||
var index = 0;
|
||||
|
||||
foreach (var data in Entity.Weapons())
|
||||
{
|
||||
index++;
|
||||
|
||||
<div>
|
||||
<div>
|
||||
<div class="damageContainer">
|
||||
<div>
|
||||
<b>Weapon @index</b>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<b>- Damage:</b> @data.Damage
|
||||
</div>
|
||||
@if (data.LightDamage != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>- vs Light: @data.LightDamage</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.MediumDamage != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>- vs Medium: @data.MediumDamage</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.HeavyDamage != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>- vs Heavy: @data.HeavyDamage</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.EthericDamageBonus != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>- vs Etheric +@data.EthericDamageBonus</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.StructureDamageBonus != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>- vs Structure: +@data.StructureDamageBonus</i>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<b>- Range:</b> @data.Range
|
||||
</div>
|
||||
@if (data.SecondsBetweenAttacks > 0)
|
||||
{
|
||||
<div>
|
||||
<b>- AttacksPerSecond:</b> @(1 / data.SecondsBetweenAttacks)
|
||||
</div>
|
||||
<div>
|
||||
- (or <b>SecondsBetweenAttacks:</b> @data.SecondsBetweenAttacks)
|
||||
</div>
|
||||
}
|
||||
else if (data.AttacksPerSecond > 0)
|
||||
{
|
||||
<div>
|
||||
<b>- AttacksPerSecond:</b> @data.AttacksPerSecond
|
||||
</div>
|
||||
<div>
|
||||
- (or <b>SecondsBetweenAttacks:</b> @(1 / data.AttacksPerSecond))
|
||||
</div>
|
||||
}
|
||||
|
||||
<div>
|
||||
<b>- Targets:</b> @data.Targets
|
||||
</div>
|
||||
@if (data.AttacksPerSecond != 0)
|
||||
{
|
||||
<span>
|
||||
<b>- DPS:</b> @(Math.Round(data.Damage * data.AttacksPerSecond))
|
||||
</span>
|
||||
<div>
|
||||
<div>
|
||||
<div class="damageContainer">
|
||||
<div>
|
||||
<b>Weapon @index</b>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<b>- Damage:</b> @data.Damage
|
||||
</div>
|
||||
@if (data.LightDamage != 0)
|
||||
{
|
||||
<span>
|
||||
<i>- Light DPS: @(Math.Round(data.LightDamage * data.AttacksPerSecond))</i>
|
||||
</span>
|
||||
<div class="alternateDamage">
|
||||
<i>- vs Light: @data.LightDamage</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.MediumDamage != 0)
|
||||
{
|
||||
<span>
|
||||
<i>- Medium DPS: @(Math.Round(data.MediumDamage * data.AttacksPerSecond))</i>
|
||||
</span>
|
||||
<div class="alternateDamage">
|
||||
<i>- vs Medium: @data.MediumDamage</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.HeavyDamage != 0)
|
||||
{
|
||||
<span>
|
||||
<i>- Heavy DPS: @(Math.Round(data.HeavyDamage * data.AttacksPerSecond))</i>
|
||||
</span>
|
||||
<div class="alternateDamage">
|
||||
<i>- vs Heavy: @data.HeavyDamage</i>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
@if (data.EthericDamageBonus != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>- vs Etheric +@data.EthericDamageBonus</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.StructureDamageBonus != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>- vs Structure: +@data.StructureDamageBonus</i>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div>
|
||||
<b>- Range:</b> @data.Range
|
||||
</div>
|
||||
@if (data.SecondsBetweenAttacks > 0)
|
||||
{
|
||||
<div>
|
||||
<b>- AttacksPerSecond:</b> @(1 / data.SecondsBetweenAttacks)
|
||||
</div>
|
||||
<div>
|
||||
- (or <b>SecondsBetweenAttacks:</b> @data.SecondsBetweenAttacks)
|
||||
</div>
|
||||
}
|
||||
else if (data.AttacksPerSecond > 0)
|
||||
{
|
||||
<div>
|
||||
<b>- AttacksPerSecond:</b> @data.AttacksPerSecond
|
||||
</div>
|
||||
<div>
|
||||
- (or <b>SecondsBetweenAttacks:</b> @(1 / data.AttacksPerSecond))
|
||||
</div>
|
||||
}
|
||||
|
||||
<div>
|
||||
<b>- Targets:</b> @data.Targets
|
||||
</div>
|
||||
@if (data.AttacksPerSecond != 0)
|
||||
{
|
||||
<span>
|
||||
<b>- DPS:</b> @(Math.Round(data.Damage * data.AttacksPerSecond))
|
||||
</span>
|
||||
@if (data.LightDamage != 0)
|
||||
{
|
||||
<span>
|
||||
<i>- Light DPS: @(Math.Round(data.LightDamage * data.AttacksPerSecond))</i>
|
||||
</span>
|
||||
}
|
||||
@if (data.MediumDamage != 0)
|
||||
{
|
||||
<span>
|
||||
<i>- Medium DPS: @(Math.Round(data.MediumDamage * data.AttacksPerSecond))</i>
|
||||
</span>
|
||||
}
|
||||
@if (data.HeavyDamage != 0)
|
||||
{
|
||||
<span>
|
||||
<i>- Heavy DPS: @(Math.Round(data.HeavyDamage * data.AttacksPerSecond))</i>
|
||||
</span>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
<EntityDisplayComponent Title="Weapons">
|
||||
<div class="weaponsContainer">
|
||||
@foreach (var data in Entity.Weapons())
|
||||
{
|
||||
<div>
|
||||
<EntityDisplayComponent Title="Weapons">
|
||||
<div class="weaponsContainer">
|
||||
@foreach (var data in Entity.Weapons())
|
||||
{
|
||||
<div>
|
||||
<div class="damageContainer">
|
||||
<div>
|
||||
<div class="damageContainer">
|
||||
<div>
|
||||
<b>Damage:</b> @data.Damage
|
||||
</div>
|
||||
@if (data.LightDamage != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>vs Light: @data.LightDamage</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.MediumDamage != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>vs Medium: @data.MediumDamage</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.HeavyDamage != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>vs Heavy: @data.HeavyDamage</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.EthericDamageBonus != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>vs Etheric +@data.EthericDamageBonus</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.StructureDamageBonus != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>vs Structure: +@data.StructureDamageBonus</i>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<b>Range:</b> @data.Range
|
||||
</div>
|
||||
@if (data.SecondsBetweenAttacks > 0)
|
||||
{
|
||||
<div>
|
||||
<b>Damage:</b> @data.Damage
|
||||
<b>AttacksPerSecond:</b> @(1 / data.SecondsBetweenAttacks)
|
||||
</div>
|
||||
<div>
|
||||
(or <b>SecondsBetweenAttacks:</b> @data.SecondsBetweenAttacks)
|
||||
</div>
|
||||
}
|
||||
else if (data.AttacksPerSecond > 0)
|
||||
{
|
||||
<div>
|
||||
<b>AttacksPerSecond:</b> @data.AttacksPerSecond
|
||||
</div>
|
||||
<div>
|
||||
(or <b>SecondsBetweenAttacks:</b> @(1 / data.AttacksPerSecond))
|
||||
</div>
|
||||
}
|
||||
|
||||
<div>
|
||||
<b>Targets:</b> @data.Targets
|
||||
</div>
|
||||
@if (data.AttacksPerSecond != 0)
|
||||
{
|
||||
<div>
|
||||
<b>DPS:</b> @(Math.Round(data.Damage * data.AttacksPerSecond))
|
||||
</div>
|
||||
@if (data.LightDamage != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>vs Light: @data.LightDamage</i>
|
||||
<div>
|
||||
<i>Light DPS: @(Math.Round(data.LightDamage * data.AttacksPerSecond))</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.MediumDamage != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>vs Medium: @data.MediumDamage</i>
|
||||
<div>
|
||||
<i>Medium DPS: @(Math.Round(data.MediumDamage * data.AttacksPerSecond))</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.HeavyDamage != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>vs Heavy: @data.HeavyDamage</i>
|
||||
<div>
|
||||
<i>Heavy DPS: @(Math.Round(data.HeavyDamage * data.AttacksPerSecond))</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.EthericDamageBonus != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>vs Etheric +@data.EthericDamageBonus</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.StructureDamageBonus != 0)
|
||||
{
|
||||
<div class="alternateDamage">
|
||||
<i>vs Structure: +@data.StructureDamageBonus</i>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<b>Range:</b> @data.Range
|
||||
</div>
|
||||
@if (data.SecondsBetweenAttacks > 0)
|
||||
{
|
||||
<div>
|
||||
<b>AttacksPerSecond:</b> @(1 / data.SecondsBetweenAttacks)
|
||||
</div>
|
||||
<div>
|
||||
(or <b>SecondsBetweenAttacks:</b> @data.SecondsBetweenAttacks)
|
||||
</div>
|
||||
}
|
||||
else if (data.AttacksPerSecond > 0)
|
||||
{
|
||||
<div>
|
||||
<b>AttacksPerSecond:</b> @data.AttacksPerSecond
|
||||
</div>
|
||||
<div>
|
||||
(or <b>SecondsBetweenAttacks:</b> @(1 / data.AttacksPerSecond))
|
||||
</div>
|
||||
}
|
||||
|
||||
<div>
|
||||
<b>Targets:</b> @data.Targets
|
||||
</div>
|
||||
@if (data.AttacksPerSecond != 0)
|
||||
{
|
||||
<div>
|
||||
<b>DPS:</b> @(Math.Round(data.Damage * data.AttacksPerSecond))
|
||||
</div>
|
||||
@if (data.LightDamage != 0)
|
||||
{
|
||||
<div>
|
||||
<i>Light DPS: @(Math.Round(data.LightDamage * data.AttacksPerSecond))</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.MediumDamage != 0)
|
||||
{
|
||||
<div>
|
||||
<i>Medium DPS: @(Math.Round(data.MediumDamage * data.AttacksPerSecond))</i>
|
||||
</div>
|
||||
}
|
||||
@if (data.HeavyDamage != 0)
|
||||
{
|
||||
<div>
|
||||
<i>Heavy DPS: @(Math.Round(data.HeavyDamage * data.AttacksPerSecond))</i>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</EntityDisplayComponent>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</EntityDisplayComponent>
|
||||
|
||||
<style>
|
||||
.weaponsContainer {
|
||||
@@ -222,16 +221,15 @@
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
</style>
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@code {
|
||||
|
||||
[CascadingParameter]
|
||||
public EntityModel? Entity { get; set; }
|
||||
|
||||
|
||||
public EntityModel? Entity { get; set; } = default!;
|
||||
|
||||
|
||||
[CascadingParameter]
|
||||
public string StyleType { get; set; } = "Detailed";
|
||||
|
||||
|
||||
@@ -2,23 +2,27 @@
|
||||
<div class="desktopFiltersContainer">
|
||||
<div class="filtersContainer">
|
||||
<div class="filterContainer">
|
||||
@foreach (var choice in EntityFilterService.GetFactionChoices()) {
|
||||
@foreach (var choice in EntityFilterService.GetFactionChoices())
|
||||
{
|
||||
var styleClass = "";
|
||||
if (choice.Equals(EntityFilterService.GetFactionType())) {
|
||||
if (choice.Equals(EntityFilterService.GetFactionType()))
|
||||
{
|
||||
styleClass = "selected";
|
||||
}
|
||||
<button @onclick="@(e => OnChangeFaction(choice))" class="choiceButton @styleClass">@choice</button>
|
||||
}
|
||||
</div>
|
||||
|
||||
@if (EntityFilterService.GetFactionType() != "Any" && EntityFilterService.GetFactionType() != "None") {
|
||||
@if (EntityFilterService.GetFactionType() != "Any" && EntityFilterService.GetFactionType() != "None")
|
||||
{
|
||||
<div class="filterContainer">
|
||||
@foreach (var choice in EntityFilterService.GetImmortalChoices())
|
||||
{
|
||||
var name = DATA.Get()[choice].Info().Name;
|
||||
|
||||
|
||||
var styleClass = "";
|
||||
if (choice.Equals(EntityFilterService.GetImmortalType())) {
|
||||
if (choice.Equals(EntityFilterService.GetImmortalType()))
|
||||
{
|
||||
styleClass = "selected";
|
||||
}
|
||||
<button class="choiceButton @styleClass" @onclick="@(e => OnChangeImmortal(choice))">@name</button>
|
||||
@@ -27,16 +31,18 @@
|
||||
}
|
||||
</div>
|
||||
<div class="filterContainer">
|
||||
@foreach (var choice in EntityFilterService.GetEntityChoices()) {
|
||||
@foreach (var choice in EntityFilterService.GetEntityChoices())
|
||||
{
|
||||
var styleClass = "";
|
||||
if (choice.Equals(EntityFilterService.GetEntityType())) {
|
||||
if (choice.Equals(EntityFilterService.GetEntityType()))
|
||||
{
|
||||
styleClass = "selected";
|
||||
}
|
||||
|
||||
<button class="choiceButton @styleClass" @onclick="@(e => OnChangeEntity(choice))">@choice.Replace("_", " ")</button>
|
||||
}
|
||||
</div>
|
||||
<FormTextComponent Label="Search Label" Placeholder="Throne..." OnChange="@(e => EntityFilterService.EnterSearchText(e.Value.ToString()))"/>
|
||||
<FormTextComponent Label="Search Label" Placeholder="Throne..." OnChange="@(e => EntityFilterService.EnterSearchText(e.Value!.ToString()!))"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -199,40 +205,49 @@
|
||||
@code {
|
||||
|
||||
[Inject]
|
||||
public IEntityFilterService EntityFilterService { get; set; }
|
||||
public IEntityFilterService EntityFilterService { get; set; } = default!;
|
||||
|
||||
protected override void OnInitialized() { }
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
}
|
||||
|
||||
void OnChangeFaction(string clickedFaction) {
|
||||
void OnChangeFaction(string clickedFaction)
|
||||
{
|
||||
EntityFilterService.SelectFactionType(clickedFaction);
|
||||
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
void OnChangeImmortal(string clickedImmortal) {
|
||||
void OnChangeImmortal(string clickedImmortal)
|
||||
{
|
||||
EntityFilterService.SelectImmortalType(clickedImmortal);
|
||||
}
|
||||
|
||||
void OnChangeEntity(string clickedEntity) {
|
||||
void OnChangeEntity(string clickedEntity)
|
||||
{
|
||||
EntityFilterService.SelectEntityType(clickedEntity);
|
||||
}
|
||||
|
||||
void OnFactionChanged(ChangeEventArgs e) {
|
||||
EntityFilterService.SelectFactionType(e.Value.ToString());
|
||||
void OnFactionChanged(ChangeEventArgs e)
|
||||
{
|
||||
EntityFilterService.SelectFactionType(e.Value!.ToString()!);
|
||||
}
|
||||
|
||||
void OnImmortalChanged(ChangeEventArgs e) {
|
||||
EntityFilterService.SelectImmortalType(e.Value.ToString());
|
||||
void OnImmortalChanged(ChangeEventArgs e)
|
||||
{
|
||||
EntityFilterService.SelectImmortalType(e.Value!.ToString()!);
|
||||
}
|
||||
|
||||
|
||||
void OnEntityChanged(ChangeEventArgs e) {
|
||||
EntityFilterService.SelectEntityType(e.Value.ToString());
|
||||
void OnEntityChanged(ChangeEventArgs e)
|
||||
{
|
||||
EntityFilterService.SelectEntityType(e.Value!.ToString()!);
|
||||
}
|
||||
|
||||
|
||||
void OnSearchTextChanged(ChangeEventArgs e) {
|
||||
EntityFilterService.EnterSearchText(e.Value.ToString());
|
||||
void OnSearchTextChanged(ChangeEventArgs e)
|
||||
{
|
||||
EntityFilterService.EnterSearchText(e.Value!.ToString()!);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user