feat(Database) Adding entity dialog
This commit is contained in:
@@ -1,10 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@code {
|
|
||||||
|
|
||||||
[Parameter]
|
|
||||||
public RenderFragment ChildContent { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
|
|
||||||
.entityDialogBackground {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
@using Model.Immortal.Entity
|
||||||
|
@using Services.Website
|
||||||
|
@using System.ComponentModel.DataAnnotations
|
||||||
|
@using Model.Immortal.Entity.Data
|
||||||
|
@using Services
|
||||||
|
|
||||||
|
@inject IEntityDialogService entityDialogService
|
||||||
|
|
||||||
|
|
||||||
|
@if (entity == null)
|
||||||
|
{
|
||||||
|
<div>Add a entity</div>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<button class="entityLabel @entity.Descriptive.ToLower()" @onclick="EntityLabelClicked">@entity.Info().Name</button>
|
||||||
|
}
|
||||||
|
|
||||||
|
@code {
|
||||||
|
|
||||||
|
[Parameter] public string EntityId { get; set; }
|
||||||
|
|
||||||
|
private EntityModel entity = null;
|
||||||
|
|
||||||
|
protected override void OnInitialized()
|
||||||
|
{
|
||||||
|
entity = DATA.Get()[EntityId];
|
||||||
|
Console.Write(entity.Info().Name);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void EntityLabelClicked()
|
||||||
|
{
|
||||||
|
Console.WriteLine("EntityLabelClicked()");
|
||||||
|
|
||||||
|
entityDialogService.AddDialog(EntityId);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
.entityLabel {
|
||||||
|
font-weight: bolder;
|
||||||
|
box-shadow: 1px 1px 0 0 rgba(0,0,0,0.2);
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entityLabel:hover {
|
||||||
|
background-color: var(--primary-hover);
|
||||||
|
}
|
||||||
|
|
||||||
|
.army {
|
||||||
|
color: cyan;
|
||||||
|
}
|
||||||
|
|
||||||
|
.building {
|
||||||
|
color: greenyellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ability {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.passive {
|
||||||
|
color: yellow;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -7,7 +7,6 @@
|
|||||||
@implements IDisposable
|
@implements IDisposable
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div onmouseleave="@HoverOut" class="desktopNavContainer">
|
<div onmouseleave="@HoverOut" class="desktopNavContainer">
|
||||||
<div class="menuHeader" @onmouseover="() => NavigationService.ChangeNavigationState(NavigationStateType.Hovering_Menu)">
|
<div class="menuHeader" @onmouseover="() => NavigationService.ChangeNavigationState(NavigationStateType.Hovering_Menu)">
|
||||||
<NavLink href="/" class="websiteTitle">
|
<NavLink href="/" class="websiteTitle">
|
||||||
@@ -42,7 +41,6 @@
|
|||||||
width: 100vw;
|
width: 100vw;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
background-color: rgba(255,255,255,0.1);
|
background-color: rgba(255,255,255,0.1);
|
||||||
z-index: 1001;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.menuHeader {
|
.menuHeader {
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
</NotFound>
|
</NotFound>
|
||||||
</Router>
|
</Router>
|
||||||
|
|
||||||
|
<EntityDialogPortal/>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
a {
|
a {
|
||||||
|
|||||||
@@ -0,0 +1,66 @@
|
|||||||
|
@inject IEntityDialogService entityDialogService
|
||||||
|
|
||||||
|
<div class="dialogBackground" onclick="@CloseDialog">
|
||||||
|
|
||||||
|
<div class="dialogContainer"
|
||||||
|
@onclick:preventDefault="true"
|
||||||
|
@onclick:stopPropagation="true">
|
||||||
|
@if (entity == null)
|
||||||
|
{
|
||||||
|
<div>Entity is null</div>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<div class="dialogHeader">
|
||||||
|
<div class="dialogTitle">
|
||||||
|
@entity.Info().Name
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="dialogContent">
|
||||||
|
<div>
|
||||||
|
<EntityVanguardAddedComponent Entity=@entity></EntityVanguardAddedComponent>
|
||||||
|
<EntityInfoComponent Entity=@entity></EntityInfoComponent>
|
||||||
|
<EntityVanguardsComponent Entity=@entity></EntityVanguardsComponent>
|
||||||
|
<EntityProductionComponent Entity=@entity></EntityProductionComponent>
|
||||||
|
<EntityStatsComponent Entity=@entity></EntityStatsComponent>
|
||||||
|
<EntityMechanicsComponent Entity=@entity></EntityMechanicsComponent>
|
||||||
|
<EntityPassivesComponent Entity=@entity></EntityPassivesComponent>
|
||||||
|
<EntityPyreSpellsComponent Entity=@entity></EntityPyreSpellsComponent>
|
||||||
|
<EntityUpgradesComponent Entity=@entity></EntityUpgradesComponent>
|
||||||
|
<EntityWeaponsComponent Entity=@entity></EntityWeaponsComponent>
|
||||||
|
<EntityAbilitiesComponent Entity=@entity></EntityAbilitiesComponent>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="dialogFooter"></div>
|
||||||
|
}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@code {
|
||||||
|
private EntityModel entity = null;
|
||||||
|
|
||||||
|
[Parameter] public string EntityId { get; set; }
|
||||||
|
|
||||||
|
protected override void OnParametersSet()
|
||||||
|
{
|
||||||
|
if (entityDialogService.GetEntityId() == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
entity = DATA.Get()[EntityId];
|
||||||
|
}
|
||||||
|
|
||||||
|
public void CloseDialog()
|
||||||
|
{
|
||||||
|
entityDialogService.CloseDialog();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
|
||||||
|
.dialogBackground {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
background-color: rgba(0, 0, 0, 0.5);
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialogContainer {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
margin-top: 64px;
|
||||||
|
width: 800px;
|
||||||
|
height: 600px;
|
||||||
|
|
||||||
|
background-color: var(--background);
|
||||||
|
border-width: var(--dialog-border-width);
|
||||||
|
border-style: solid;
|
||||||
|
border-color: var(--dialog-border-color);
|
||||||
|
border-radius: var(--dialog-radius);
|
||||||
|
|
||||||
|
|
||||||
|
box-shadow: 1px 2px 2px black;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialogHeader {
|
||||||
|
width: 100%;
|
||||||
|
background-color: var(--accent);
|
||||||
|
|
||||||
|
border-top-left-radius: var(--dialog-radius);
|
||||||
|
border-top-right-radius: var(--dialog-radius);
|
||||||
|
border-bottom: 4px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialogTitle {
|
||||||
|
padding: 16px;
|
||||||
|
font-size: 2rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialogContent {
|
||||||
|
flex-grow: 1;
|
||||||
|
padding: 6px;
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialogFooter {
|
||||||
|
width: 100%;
|
||||||
|
height: 6px;
|
||||||
|
background-color: var(--paper);
|
||||||
|
}
|
||||||
+1
-10
@@ -15,16 +15,6 @@
|
|||||||
<DefineConstants>TRACE;NO_SQL</DefineConstants>
|
<DefineConstants>TRACE;NO_SQL</DefineConstants>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Remove="Pages\Agile\AgilePage.razor.css" />
|
|
||||||
<None Remove="Pages\ChangeLogPage.razor.css" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="Pages\Agile\AgilePage.razor.css" />
|
|
||||||
<Content Include="Pages\ChangeLogPage.razor.css" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.0-preview.2.22153.2" />
|
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.0-preview.2.22153.2" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.0-preview.2.22153.2" PrivateAssets="all" />
|
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.0-preview.2.22153.2" PrivateAssets="all" />
|
||||||
@@ -45,4 +35,5 @@
|
|||||||
<ProjectReference Include="..\Model\Model.csproj" />
|
<ProjectReference Include="..\Model\Model.csproj" />
|
||||||
<ProjectReference Include="..\Services\Services.csproj" />
|
<ProjectReference Include="..\Services\Services.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
+3
-1
@@ -2,5 +2,7 @@
|
|||||||
|
|
||||||
@layout PageLayout
|
@layout PageLayout
|
||||||
|
|
||||||
|
|
||||||
<HomePage></HomePage>
|
<HomePage></HomePage>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
var isVanguard = entity.Vanguard() != null;
|
var isVanguard = entity.VanguardAdded() != null;
|
||||||
var style = isVanguard ? "font-weight: bold;" : "";
|
var style = isVanguard ? "font-weight: bold;" : "";
|
||||||
|
|
||||||
<div style="@style">@entity.Info()?.Name</div>
|
<div style="@style">@entity.Info()?.Name</div>
|
||||||
@@ -126,7 +126,7 @@
|
|||||||
|
|
||||||
// Move to Filter Service
|
// Move to Filter Service
|
||||||
bool InvalidVanguard(EntityModel entity) {
|
bool InvalidVanguard(EntityModel entity) {
|
||||||
if (entity.Vanguard() != null && entity.Vanguard()?.Immortal != FilterService.GetImmortalType() && FilterService.GetImmortalType() != ImmortalType.Any) {
|
if (entity.VanguardAdded() != null && entity.VanguardAdded()?.ImmortalId != FilterService.GetImmortalType() && FilterService.GetImmortalType() != ImmortalType.Any) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,7 +138,7 @@
|
|||||||
if (entity.Replaceds().Count > 0) {
|
if (entity.Replaceds().Count > 0) {
|
||||||
var isReplaced = false;
|
var isReplaced = false;
|
||||||
foreach (var replaced in entity.Replaceds()) {
|
foreach (var replaced in entity.Replaceds()) {
|
||||||
if (FilterService.GetImmortalType() == replaced.Immortal) {
|
if (FilterService.GetImmortalType() == replaced.ImmortalId) {
|
||||||
isReplaced = true;
|
isReplaced = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
@onkeydown="HandleKeyDown"
|
@onkeydown="HandleKeyDown"
|
||||||
@onkeyup="HandleKeyUp"
|
@onkeyup="HandleKeyUp"
|
||||||
@onkeydown:preventDefault="true"
|
@onkeydown:preventDefault="true"
|
||||||
colorwn:stopPropagation="true">
|
@onkeydown:stopPropagation="true">
|
||||||
@ChildContent
|
@ChildContent
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -170,7 +170,7 @@
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
immortals = (from entity in factions
|
immortals = (from entity in factions
|
||||||
where entity.Vanguard() == null || entity.Vanguard().Immortal == selectedImmortalType
|
where entity.VanguardAdded() == null || entity.VanguardAdded().ImmortalId == selectedImmortalType
|
||||||
select entity).ToList();
|
select entity).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
@if (Entity != null) {
|
@if (Entity != null) {
|
||||||
var isVanguard = Entity.Vanguard() != null ? " vanguard" : "";
|
var isVanguard = Entity.VanguardAdded() != null ? " vanguard" : "";
|
||||||
|
|
||||||
<div class="enititiesContainer @isVanguard">
|
<div class="enititiesContainer @isVanguard">
|
||||||
<EntityHeaderComponent Entity=Entity></EntityHeaderComponent>
|
<EntityHeaderComponent Entity=Entity></EntityHeaderComponent>
|
||||||
|
|
||||||
<div class="entityPartsContainer">
|
<div>
|
||||||
<EntityVanguardComponent Entity=Entity></EntityVanguardComponent>
|
<EntityVanguardAddedComponent Entity=Entity></EntityVanguardAddedComponent>
|
||||||
<EntityInfoComponent Entity=Entity></EntityInfoComponent>
|
<EntityInfoComponent Entity=Entity></EntityInfoComponent>
|
||||||
<EntityVanguardsComponent Entity=Entity></EntityVanguardsComponent>
|
<EntityVanguardsComponent Entity=Entity></EntityVanguardsComponent>
|
||||||
<EntityProductionComponent Entity=Entity></EntityProductionComponent>
|
<EntityProductionComponent Entity=Entity></EntityProductionComponent>
|
||||||
@@ -31,27 +31,10 @@
|
|||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vanguard {
|
|
||||||
border: 4px solid var(--accent);
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.entityPartsContainer {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@media only screen and (max-width: 1025px) {
|
@@media only screen and (max-width: 1025px) {
|
||||||
.enititiesContainer {
|
.enititiesContainer {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.entityPartsContainer {
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
<b>Name:</b> @info.Name
|
<b>Name:</b> <EntityLabelComponent EntityId="@spell.DataType"/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<b>Description:</b> @((MarkupString)info.Description)
|
<b>Description:</b> @((MarkupString)info.Description)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
<b>Name:</b> @info.Name
|
<b>Name:</b> <EntityLabelComponent EntityId="@passive.DataType"/>
|
||||||
</div>
|
</div>
|
||||||
<div style="max-width: 600px;">
|
<div style="max-width: 600px;">
|
||||||
<b>Description:</b> @((MarkupString)info.Description)
|
<b>Description:</b> @((MarkupString)info.Description)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<div>
|
<div>
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
<b>@requirement.Requirement.Replace("_", " "):</b> @requirement.Name
|
<b>@requirement.Requirement.Replace("_", " "):</b> <EntityLabelComponent EntityId="@requirement.DataType"/>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
@@ -47,6 +47,13 @@
|
|||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@if (!production.Energy.Equals(0)) {
|
||||||
|
<div>
|
||||||
|
<b>Energy:</b> @production.Energy
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@if (!production.Cooldown.Equals(0)) {
|
@if (!production.Cooldown.Equals(0)) {
|
||||||
<div>
|
<div>
|
||||||
<b>Cooldown:</b> @production.Cooldown.ToString()s
|
<b>Cooldown:</b> @production.Cooldown.ToString()s
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
<b>Name:</b> @info.Name
|
<b>Name:</b> <EntityLabelComponent EntityId="@spell.DataType"/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<b>Description:</b> @((MarkupString)info.Description)
|
<b>Description:</b> @((MarkupString)info.Description)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
var entity = EntityModel.Get(upgradeId.Id);
|
var entity = EntityModel.Get(upgradeId.Id);
|
||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
<b>Name:</b> @entity.Info().Name
|
<b>Name:</b> <EntityLabelComponent EntityId="@entity.DataType"/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<b>Description:</b> @entity.Info().Description
|
<b>Description:</b> @entity.Info().Description
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
@{
|
||||||
|
var vanguard = Entity.VanguardAdded();
|
||||||
|
|
||||||
|
var isNull = Entity.VanguardAdded() == null ? "null" : "not null";
|
||||||
|
}
|
||||||
|
|
||||||
|
@if (vanguard != null) {
|
||||||
|
var immortalId = Entity.VanguardAdded().ImmortalId;
|
||||||
|
var immortal = DATA.Get()[immortalId];
|
||||||
|
|
||||||
|
|
||||||
|
<EntityDisplayComponent Title="Vanguard">
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<b>Immortal:</b> <EntityLabelComponent EntityId="@immortal.DataType"/>
|
||||||
|
</div>
|
||||||
|
@if (!Entity.VanguardAdded().ReplaceId.Equals("")) {
|
||||||
|
<div>
|
||||||
|
<b>Replaces:</b> <EntityLabelComponent EntityId="@Entity.VanguardAdded().ReplaceId"></EntityLabelComponent>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</EntityDisplayComponent>
|
||||||
|
}
|
||||||
|
|
||||||
|
@code {
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public EntityModel Entity { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
@if (Entity.Vanguard() != null) {
|
|
||||||
<EntityDisplayComponent Title="Vanguard">
|
|
||||||
<div>
|
|
||||||
<div>
|
|
||||||
<b>Immortal:</b> @Entity.Vanguard().Immortal.Replace("_", " ")
|
|
||||||
</div>
|
|
||||||
@if (Entity.Vanguard().Replaces != "") {
|
|
||||||
<div>
|
|
||||||
<b>Replaces:</b> @Entity.Vanguard().Replaces.Replace("_", " ")
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
</EntityDisplayComponent>
|
|
||||||
}
|
|
||||||
|
|
||||||
@code {
|
|
||||||
|
|
||||||
[Parameter]
|
|
||||||
public EntityModel Entity { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -3,24 +3,21 @@
|
|||||||
@foreach (var data in Entity.IdVanguards()) {
|
@foreach (var data in Entity.IdVanguards()) {
|
||||||
var entity = EntityModel.Get(data.Id);
|
var entity = EntityModel.Get(data.Id);
|
||||||
|
|
||||||
var info = entity.Info();
|
|
||||||
var production = entity.Production();
|
|
||||||
var requirements = entity.Requirements();
|
var requirements = entity.Requirements();
|
||||||
var vanguard = entity.Vanguard();
|
var vanguard = entity.VanguardAdded();
|
||||||
var productionBuilding = (from building in requirements
|
var productionBuilding = (from building in requirements
|
||||||
where building.Requirement == RequirementType.Production_Building
|
where building.Requirement == RequirementType.Production_Building
|
||||||
select building).First().Name;
|
select building).First().DataType;
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
<b>Name:</b> @info.Name
|
<b>Name:</b> <EntityLabelComponent EntityId="@entity.DataType"/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<b>Replaces:</b> @vanguard.Replaces
|
<b>Replaces:</b> <EntityLabelComponent EntityId="@vanguard.ReplaceId"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<b>Built From:</b> @productionBuilding
|
<b>Built From:</b> <EntityLabelComponent EntityId="@productionBuilding"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,12 +13,15 @@
|
|||||||
|
|
||||||
@if (EntityFilterService.GetFactionType() != "Any" && EntityFilterService.GetFactionType() != "None") {
|
@if (EntityFilterService.GetFactionType() != "Any" && EntityFilterService.GetFactionType() != "None") {
|
||||||
<div class="filterContainer">
|
<div class="filterContainer">
|
||||||
@foreach (var choice in EntityFilterService.GetImmortalChoices()) {
|
@foreach (var choice in EntityFilterService.GetImmortalChoices())
|
||||||
|
{
|
||||||
|
var name = DATA.Get()[choice].Info().Name;
|
||||||
|
|
||||||
var styleClass = "";
|
var styleClass = "";
|
||||||
if (choice.Equals(EntityFilterService.GetImmortalType())) {
|
if (choice.Equals(EntityFilterService.GetImmortalType())) {
|
||||||
styleClass = "selected";
|
styleClass = "selected";
|
||||||
}
|
}
|
||||||
<button class="choiceButton @styleClass" @onclick="@(e => OnChangeImmortal(choice))">@choice</button>
|
<button class="choiceButton @styleClass" @onclick="@(e => OnChangeImmortal(choice))">@name</button>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
@@ -52,10 +55,10 @@
|
|||||||
<FormLabelComponent>Immortal</FormLabelComponent>
|
<FormLabelComponent>Immortal</FormLabelComponent>
|
||||||
<ChildContent>
|
<ChildContent>
|
||||||
<option value="@ImmortalType.Any" selected>Any</option>
|
<option value="@ImmortalType.Any" selected>Any</option>
|
||||||
<option value="@ImmortalType.Mala">Mala</option>
|
<option value="@DataType.IMMORTAL_Mala">Mala</option>
|
||||||
<option value="@ImmortalType.Xol">Xol</option>
|
<option value="@DataType.IMMORTAL_Xol">Xol</option>
|
||||||
<option value="@ImmortalType.Orzum">Orzum</option>
|
<option value="@DataType.IMMORTAL_Orzum">Orzum</option>
|
||||||
<option value="@ImmortalType.Ajari">Ajari</option>
|
<option value="@DataType.IMMORTAL_Ajari">Ajari</option>
|
||||||
</ChildContent>
|
</ChildContent>
|
||||||
</FormSelectComponent>
|
</FormSelectComponent>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
@implements IDisposable;
|
||||||
|
|
||||||
|
@inject IEntityDialogService entityDialogService
|
||||||
|
|
||||||
|
@if (entityDialogService.HasDialog())
|
||||||
|
{
|
||||||
|
<EntityDialogComponent EntityId="@entityDialogService.GetEntityId()"></EntityDialogComponent>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@code {
|
||||||
|
protected override void OnInitialized()
|
||||||
|
{
|
||||||
|
entityDialogService.Subscribe(OnUpdate);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose() {
|
||||||
|
entityDialogService.Unsubscribe(OnUpdate);
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnUpdate()
|
||||||
|
{
|
||||||
|
StateHasChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -38,6 +38,8 @@ builder.Services.AddSingleton(new HttpClient {
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
builder.Services.AddSingleton<IEntityDialogService, EntityDialogService>();
|
||||||
|
|
||||||
#if NO_SQL
|
#if NO_SQL
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -9,7 +9,9 @@
|
|||||||
@using Components.Navigation
|
@using Components.Navigation
|
||||||
@using Components.Shared
|
@using Components.Shared
|
||||||
@using Components.Utils
|
@using Components.Utils
|
||||||
|
@using IGP.Portals
|
||||||
@using IGP.Pages
|
@using IGP.Pages
|
||||||
|
@using IGP.Dialog
|
||||||
@using IGP.Pages.Agile.Parts
|
@using IGP.Pages.Agile.Parts
|
||||||
@using IGP.Pages.BuildCalculator.Parts
|
@using IGP.Pages.BuildCalculator.Parts
|
||||||
@using IGP.Pages.Database.Entity
|
@using IGP.Pages.Database.Entity
|
||||||
|
|||||||
@@ -17,6 +17,10 @@
|
|||||||
--paper-border: #151516;
|
--paper-border: #151516;
|
||||||
--info: #451376;
|
--info: #451376;
|
||||||
--info-border: #210b36;
|
--info-border: #210b36;
|
||||||
|
|
||||||
|
--dialog-border-color: black;
|
||||||
|
--dialog-border-width: 2px;
|
||||||
|
--dialog-radius: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
|
|||||||
+30
-30
@@ -466,7 +466,7 @@ public class DATA {
|
|||||||
.AddPart(new EntityTierModel { Tier = 1 })
|
.AddPart(new EntityTierModel { Tier = 1 })
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "Z" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "Z" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityVanguardAddedModel { Replaces = "Sipari", Immortal = ImmortalType.Orzum })
|
.AddPart(new EntityVanguardAddedModel { ReplaceId = DataType.UNIT_Sipari, ImmortalId = DataType.IMMORTAL_Orzum })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 100, BuildTime = 24 })
|
.AddPart(new EntityProductionModel { Alloy = 100, BuildTime = 24 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 4 })
|
.AddPart(new EntitySupplyModel { Takes = 4 })
|
||||||
.AddPart(new EntityVitalityModel { Health = 180, DefenseLayer = 100, Armor = ArmorType.Light })
|
.AddPart(new EntityVitalityModel { Health = 180, DefenseLayer = 100, Armor = ArmorType.Light })
|
||||||
@@ -504,7 +504,7 @@ public class DATA {
|
|||||||
Name = "Angelarium", DataType = DataType.BUILDING_Angelarium,
|
Name = "Angelarium", DataType = DataType.BUILDING_Angelarium,
|
||||||
Requirement = RequirementType.Production_Building
|
Requirement = RequirementType.Production_Building
|
||||||
})
|
})
|
||||||
.AddPart(new EntityVanguardAddedModel { Replaces = "Warden", Immortal = ImmortalType.Orzum })
|
.AddPart(new EntityVanguardAddedModel { ReplaceId = DataType.UNIT_Warden, ImmortalId = DataType.IMMORTAL_Orzum })
|
||||||
.AddPart(new EntityMovementModel { Speed = 340, Movement = MovementType.Air })
|
.AddPart(new EntityMovementModel { Speed = 340, Movement = MovementType.Air })
|
||||||
}, {
|
}, {
|
||||||
DataType.VANGUARD_Saoshin_Ajari,
|
DataType.VANGUARD_Saoshin_Ajari,
|
||||||
@@ -517,7 +517,7 @@ public class DATA {
|
|||||||
.AddPart(new EntityTierModel { Tier = 1.5f })
|
.AddPart(new EntityTierModel { Tier = 1.5f })
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "Z" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "Z" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityVanguardAddedModel { Replaces = "Magi", Immortal = ImmortalType.Ajari })
|
.AddPart(new EntityVanguardAddedModel { ReplaceId = DataType.UNIT_Magi, ImmortalId = DataType.IMMORTAL_Ajari })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 75, Ether = 75, BuildTime = 35 })
|
.AddPart(new EntityProductionModel { Alloy = 75, Ether = 75, BuildTime = 35 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 4 })
|
.AddPart(new EntitySupplyModel { Takes = 4 })
|
||||||
.AddPart(new EntityVitalityModel
|
.AddPart(new EntityVitalityModel
|
||||||
@@ -546,7 +546,7 @@ public class DATA {
|
|||||||
.AddPart(new EntityTierModel { Tier = 2 })
|
.AddPart(new EntityTierModel { Tier = 2 })
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HoldSpace = true, HotkeyGroup = "Z" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HoldSpace = true, HotkeyGroup = "Z" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityVanguardAddedModel { Replaces = "Hallower", Immortal = ImmortalType.Ajari })
|
.AddPart(new EntityVanguardAddedModel { ReplaceId = DataType.UNIT_Hallower, ImmortalId = DataType.IMMORTAL_Ajari })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 150, Ether = 100, BuildTime = 40 })
|
.AddPart(new EntityProductionModel { Alloy = 150, Ether = 100, BuildTime = 40 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 5 })
|
.AddPart(new EntitySupplyModel { Takes = 5 })
|
||||||
.AddPart(new EntityVitalityModel
|
.AddPart(new EntityVitalityModel
|
||||||
@@ -578,7 +578,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HoldSpace = true, HotkeyGroup = "Z" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HoldSpace = true, HotkeyGroup = "Z" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityVanguardAddedModel { Replaces = "Under Spine", Immortal = ImmortalType.Mala })
|
.AddPart(new EntityVanguardAddedModel { ReplaceId = DataType.UNIT_Underspine, ImmortalId = DataType.IMMORTAL_Mala })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 175, Ether = 50, BuildTime = 35 })
|
.AddPart(new EntityProductionModel { Alloy = 175, Ether = 50, BuildTime = 35 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 5 })
|
.AddPart(new EntitySupplyModel { Takes = 5 })
|
||||||
.AddPart(new EntityVitalityModel
|
.AddPart(new EntityVitalityModel
|
||||||
@@ -602,7 +602,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "F", HoldSpace = true, HotkeyGroup = "Z" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "F", HoldSpace = true, HotkeyGroup = "Z" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityVanguardAddedModel { Replaces = "Red Seer", Immortal = ImmortalType.Mala })
|
.AddPart(new EntityVanguardAddedModel { ReplaceId = DataType.UNIT_RedSeer, ImmortalId = DataType.IMMORTAL_Mala })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 60, Ether = 150, BuildTime = 45 })
|
.AddPart(new EntityProductionModel { Alloy = 60, Ether = 150, BuildTime = 45 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 4 })
|
.AddPart(new EntitySupplyModel { Takes = 4 })
|
||||||
.AddPart(new EntityVitalityModel {
|
.AddPart(new EntityVitalityModel {
|
||||||
@@ -627,7 +627,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "Z" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "Z" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityVanguardAddedModel { Replaces = "Masked Hunter", Immortal = ImmortalType.Xol })
|
.AddPart(new EntityVanguardAddedModel { ReplaceId = DataType.UNIT_MaskedHunter, ImmortalId = DataType.IMMORTAL_Xol })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 50, Ether = 0, BuildTime = 40 })
|
.AddPart(new EntityProductionModel { Alloy = 50, Ether = 0, BuildTime = 40 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 2 })
|
.AddPart(new EntitySupplyModel { Takes = 2 })
|
||||||
.AddPart(new EntityVitalityModel
|
.AddPart(new EntityVitalityModel
|
||||||
@@ -650,7 +650,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "Z" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "Z" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityVanguardAddedModel { Replaces = "Bloodbound", Immortal = ImmortalType.Xol })
|
.AddPart(new EntityVanguardAddedModel { ReplaceId = DataType.UNIT_Bloodbound, ImmortalId = DataType.IMMORTAL_Xol })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 80, Ether = 80, BuildTime = 35 })
|
.AddPart(new EntityProductionModel { Alloy = 80, Ether = 80, BuildTime = 35 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 4 })
|
.AddPart(new EntitySupplyModel { Takes = 4 })
|
||||||
.AddPart(new EntityVitalityModel {
|
.AddPart(new EntityVitalityModel {
|
||||||
@@ -686,7 +686,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityTierModel { Tier = 1 })
|
.AddPart(new EntityTierModel { Tier = 1 })
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "Z" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "Z" })
|
||||||
.AddPart(new EntityVanguardReplacedModel { Immortal = ImmortalType.Orzum, ReplacedBy = "Zentari" })
|
.AddPart(new EntityVanguardReplacedModel { ImmortalId = DataType.IMMORTAL_Orzum, ReplacedById = DataType.VANGUARD_Zentari_Orzum })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 75, BuildTime = 25 })
|
.AddPart(new EntityProductionModel { Alloy = 75, BuildTime = 25 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 3 })
|
.AddPart(new EntitySupplyModel { Takes = 3 })
|
||||||
@@ -713,7 +713,7 @@ public class DATA {
|
|||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 75, Ether = 75, BuildTime = 35 })
|
.AddPart(new EntityProductionModel { Alloy = 75, Ether = 75, BuildTime = 35 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 3 })
|
.AddPart(new EntitySupplyModel { Takes = 3 })
|
||||||
.AddPart(new EntityVanguardReplacedModel { Immortal = ImmortalType.Ajari, ReplacedBy = "Saoshin" })
|
.AddPart(new EntityVanguardReplacedModel { ImmortalId = DataType.IMMORTAL_Ajari, ReplacedById = DataType.VANGUARD_Saoshin_Ajari })
|
||||||
.AddPart(new EntityRequirementModel {
|
.AddPart(new EntityRequirementModel {
|
||||||
Name = "Legion Hall", DataType = DataType.BUILDING_LegionHall,
|
Name = "Legion Hall", DataType = DataType.BUILDING_LegionHall,
|
||||||
Requirement = RequirementType.Production_Building
|
Requirement = RequirementType.Production_Building
|
||||||
@@ -851,7 +851,7 @@ public class DATA {
|
|||||||
.AddPart(new EntityTierModel { Tier = 2.5f })
|
.AddPart(new EntityTierModel { Tier = 2.5f })
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HoldSpace = true, HotkeyGroup = "Z" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HoldSpace = true, HotkeyGroup = "Z" })
|
||||||
.AddPart(new EntityVanguardReplacedModel
|
.AddPart(new EntityVanguardReplacedModel
|
||||||
{ Immortal = ImmortalType.Ajari, ReplacedBy = "Ark Mother" })
|
{ ImmortalId = DataType.IMMORTAL_Ajari, ReplacedById = DataType.VANGUARD_ArkMother_Ajari })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 150, Ether = 75, BuildTime = 35 })
|
.AddPart(new EntityProductionModel { Alloy = 150, Ether = 75, BuildTime = 35 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 5 })
|
.AddPart(new EntitySupplyModel { Takes = 5 })
|
||||||
@@ -932,7 +932,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityTierModel { Tier = 3 })
|
.AddPart(new EntityTierModel { Tier = 3 })
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "R", HoldSpace = true, HotkeyGroup = "Z" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "R", HoldSpace = true, HotkeyGroup = "Z" })
|
||||||
.AddPart(new EntityVanguardReplacedModel { Immortal = ImmortalType.Orzum, ReplacedBy = "Sceptre" })
|
.AddPart(new EntityVanguardReplacedModel { ImmortalId = DataType.IMMORTAL_Orzum, ReplacedById = DataType.VANGUARD_Sceptre_Orzum })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 175, Ether = 100, BuildTime = 40 })
|
.AddPart(new EntityProductionModel { Alloy = 175, Ether = 100, BuildTime = 40 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 6 })
|
.AddPart(new EntitySupplyModel { Takes = 6 })
|
||||||
@@ -997,7 +997,7 @@ public class DATA {
|
|||||||
.AddPart(new EntityTierModel { Tier = 1 })
|
.AddPart(new EntityTierModel { Tier = 1 })
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "Z" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "Z" })
|
||||||
.AddPart(new EntityVanguardReplacedModel
|
.AddPart(new EntityVanguardReplacedModel
|
||||||
{ Immortal = ImmortalType.Xol, ReplacedBy = "Bone Stalker" })
|
{ ImmortalId = DataType.IMMORTAL_Xol, ReplacedById = DataType.VANGUARD_BoneStalker_Xol })
|
||||||
.AddPart(new EntityRequirementModel {
|
.AddPart(new EntityRequirementModel {
|
||||||
Name = "Altar of the Worthy", DataType = DataType.BUILDING_AltarOfTheWorthy,
|
Name = "Altar of the Worthy", DataType = DataType.BUILDING_AltarOfTheWorthy,
|
||||||
Requirement = RequirementType.Production_Building
|
Requirement = RequirementType.Production_Building
|
||||||
@@ -1043,7 +1043,7 @@ public class DATA {
|
|||||||
.AddPart(new EntityInfoModel { Name = "Bloodbound", Descriptive = DescriptiveType.Assassin })
|
.AddPart(new EntityInfoModel { Name = "Bloodbound", Descriptive = DescriptiveType.Assassin })
|
||||||
.AddPart(new EntityTierModel { Tier = 3 })
|
.AddPart(new EntityTierModel { Tier = 3 })
|
||||||
.AddPart(new EntityVanguardReplacedModel
|
.AddPart(new EntityVanguardReplacedModel
|
||||||
{ Immortal = ImmortalType.Xol, ReplacedBy = "White Wood Wraith" })
|
{ ImmortalId = DataType.IMMORTAL_Xol, ReplacedById = DataType.VANGUARD_WhiteWoodReaper_Xol })
|
||||||
.AddPart(new EntityRequirementModel {
|
.AddPart(new EntityRequirementModel {
|
||||||
Name = "Altar of the Worthy", DataType = DataType.BUILDING_AltarOfTheWorthy,
|
Name = "Altar of the Worthy", DataType = DataType.BUILDING_AltarOfTheWorthy,
|
||||||
Requirement = RequirementType.Production_Building
|
Requirement = RequirementType.Production_Building
|
||||||
@@ -1071,7 +1071,7 @@ public class DATA {
|
|||||||
.AddPart(new EntityInfoModel { Name = "Red Seer", Descriptive = DescriptiveType.Elite_Caster })
|
.AddPart(new EntityInfoModel { Name = "Red Seer", Descriptive = DescriptiveType.Elite_Caster })
|
||||||
.AddPart(new EntityTierModel { Tier = 3 })
|
.AddPart(new EntityTierModel { Tier = 3 })
|
||||||
.AddPart(new EntityVanguardReplacedModel
|
.AddPart(new EntityVanguardReplacedModel
|
||||||
{ Immortal = ImmortalType.Mala, ReplacedBy = "Dread Sister" })
|
{ ImmortalId = DataType.IMMORTAL_Mala, ReplacedById = DataType.VANGUARD_DreadSister_Mala })
|
||||||
.AddPart(new EntityRequirementModel {
|
.AddPart(new EntityRequirementModel {
|
||||||
Name = "Altar of the Worthy", DataType = DataType.BUILDING_AltarOfTheWorthy,
|
Name = "Altar of the Worthy", DataType = DataType.BUILDING_AltarOfTheWorthy,
|
||||||
Requirement = RequirementType.Production_Building
|
Requirement = RequirementType.Production_Building
|
||||||
@@ -1100,7 +1100,7 @@ public class DATA {
|
|||||||
.AddPart(new EntityInfoModel
|
.AddPart(new EntityInfoModel
|
||||||
{ Name = "Underspine", Descriptive = DescriptiveType.Force_Multiplier, Notes = "Has +5 HP regen when burrowed."})
|
{ Name = "Underspine", Descriptive = DescriptiveType.Force_Multiplier, Notes = "Has +5 HP regen when burrowed."})
|
||||||
.AddPart(new EntityTierModel { Tier = 2 })
|
.AddPart(new EntityTierModel { Tier = 2 })
|
||||||
.AddPart(new EntityVanguardReplacedModel { Immortal = ImmortalType.Mala, ReplacedBy = "Incubator" })
|
.AddPart(new EntityVanguardReplacedModel { ImmortalId = DataType.IMMORTAL_Mala, ReplacedById = DataType.VANGUARD_Incubator_Mala })
|
||||||
.AddPart(new EntityRequirementModel {
|
.AddPart(new EntityRequirementModel {
|
||||||
Name = "Amber Womb", DataType = DataType.BUILDING_AmberWomb,
|
Name = "Amber Womb", DataType = DataType.BUILDING_AmberWomb,
|
||||||
Requirement = RequirementType.Production_Building
|
Requirement = RequirementType.Production_Building
|
||||||
@@ -1502,7 +1502,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityProductionModel { Alloy = 75, Ether = 120, BuildTime = 80 })
|
.AddPart(new EntityProductionModel { Alloy = 75, Ether = 120, BuildTime = 80 })
|
||||||
.AddPart(new EntityVanguardReplacedModel
|
.AddPart(new EntityVanguardReplacedModel
|
||||||
{ Immortal = ImmortalType.Xol, ReplacedBy = "Birthing Storm" })
|
{ ImmortalId = DataType.IMMORTAL_Xol, ReplacedById = DataType.ABILITY_BirthingStorm })
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
DataType.UPGRADE_BirthingStorm,
|
DataType.UPGRADE_BirthingStorm,
|
||||||
@@ -1515,7 +1515,7 @@ public class DATA {
|
|||||||
Requirement = RequirementType.Research_Building
|
Requirement = RequirementType.Research_Building
|
||||||
})
|
})
|
||||||
.AddPart(new EntityProductionModel { Alloy = 75, Ether = 120, BuildTime = 80 })
|
.AddPart(new EntityProductionModel { Alloy = 75, Ether = 120, BuildTime = 80 })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Mala, Replaces = "Blood Plague" })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Mala, ReplaceId = DataType.ABILITY_BloodPlague })
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
@@ -1783,7 +1783,7 @@ public class DATA {
|
|||||||
"After a short delay, enemy units in the target area receive a debuff which causes them to take double damage from all attacks for a duration."
|
"After a short delay, enemy units in the target area receive a debuff which causes them to take double damage from all attacks for a duration."
|
||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "D" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "D" })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Xol, Replaces = "Culling Strike" })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Xol, ReplaceId = DataType.ABILITY_CullingStrike })
|
||||||
.AddPart(new EntityProductionModel { Energy = 40 })
|
.AddPart(new EntityProductionModel { Energy = 40 })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
}, {
|
}, {
|
||||||
@@ -1838,7 +1838,7 @@ public class DATA {
|
|||||||
"Roots all units for several seconds, then leaves them slowed for several seconds after."
|
"Roots all units for several seconds, then leaves them slowed for several seconds after."
|
||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "D" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "D" })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Mala })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Mala })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityProductionModel { Energy = 50, Cooldown = 10 })
|
.AddPart(new EntityProductionModel { Energy = 50, Cooldown = 10 })
|
||||||
}, {
|
}, {
|
||||||
@@ -1851,7 +1851,7 @@ public class DATA {
|
|||||||
Notes = "Deals 20 damage + 15% of max life of the target immediately upon affecting the enemy unit. It deals the same damage again after 8 seconds. If the unit dies during those 8 seconds (including the final burst), spawns 1 quitl every 2 supply of the dead unit, rounded up"
|
Notes = "Deals 20 damage + 15% of max life of the target immediately upon affecting the enemy unit. It deals the same damage again after 8 seconds. If the unit dies during those 8 seconds (including the final burst), spawns 1 quitl every 2 supply of the dead unit, rounded up"
|
||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "D" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "D" })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Mala })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Mala })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityProductionModel { Energy = 80, Cooldown = 2 })
|
.AddPart(new EntityProductionModel { Energy = 80, Cooldown = 2 })
|
||||||
}, {
|
}, {
|
||||||
@@ -1863,7 +1863,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "R", HoldSpace = true, HotkeyGroup = "D" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "R", HoldSpace = true, HotkeyGroup = "D" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Mala, Replaces = "Acaaluk" })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Mala, ReplaceId = DataType.UNIT_Acaaluk })
|
||||||
.AddPart(new EntityProductionModel { Energy = 80, BuildTime = 4, Cooldown = 20 })
|
.AddPart(new EntityProductionModel { Energy = 80, BuildTime = 4, Cooldown = 20 })
|
||||||
.AddPart(new EntitySupplyModel { Takes = 0 })
|
.AddPart(new EntitySupplyModel { Takes = 0 })
|
||||||
.AddPart(new EntityRequirementModel { Name = "Red Seer", DataType = DataType.UNIT_RedSeer })
|
.AddPart(new EntityRequirementModel { Name = "Red Seer", DataType = DataType.UNIT_RedSeer })
|
||||||
@@ -1919,7 +1919,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "1" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "1" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Orzum })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Orzum })
|
||||||
.AddPart(new EntityProductionModel { Pyre = 100, Cooldown = 15 })
|
.AddPart(new EntityProductionModel { Pyre = 100, Cooldown = 15 })
|
||||||
}, {
|
}, {
|
||||||
DataType.ISPELL_EmpireUnbroken,
|
DataType.ISPELL_EmpireUnbroken,
|
||||||
@@ -1930,8 +1930,8 @@ public class DATA {
|
|||||||
@"Structures in target area <b style=""color:lime"">reduce incoming damage significantly</b> for several seconds."
|
@"Structures in target area <b style=""color:lime"">reduce incoming damage significantly</b> for several seconds."
|
||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "1" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "1" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Orzum })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Orzum })
|
||||||
.AddPart(new EntityProductionModel { Pyre = 50, Cooldown = 15 })
|
.AddPart(new EntityProductionModel { Pyre = 50, Cooldown = 15 })
|
||||||
}, {
|
}, {
|
||||||
DataType.ISPELL_InfuseTroops,
|
DataType.ISPELL_InfuseTroops,
|
||||||
@@ -1954,7 +1954,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "1" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "1" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Ajari })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Ajari })
|
||||||
.AddPart(new EntityProductionModel { Pyre = 50, Cooldown = 60 })
|
.AddPart(new EntityProductionModel { Pyre = 50, Cooldown = 60 })
|
||||||
}, {
|
}, {
|
||||||
DataType.ISPELL_HeavensAegis,
|
DataType.ISPELL_HeavensAegis,
|
||||||
@@ -1966,7 +1966,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "1" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "1" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Ajari })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Ajari })
|
||||||
.AddPart(new EntityProductionModel { Pyre = 150, Cooldown = 120 })
|
.AddPart(new EntityProductionModel { Pyre = 150, Cooldown = 120 })
|
||||||
},
|
},
|
||||||
// Immortal Spells
|
// Immortal Spells
|
||||||
@@ -2004,7 +2004,7 @@ public class DATA {
|
|||||||
Description = "Sacrifice target unit to create an area that regenerates life and mana."
|
Description = "Sacrifice target unit to create an area that regenerates life and mana."
|
||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "1" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "E", HotkeyGroup = "1" })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Mala })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Mala })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityProductionModel { Pyre = 40, Cooldown = 60 })
|
.AddPart(new EntityProductionModel { Pyre = 40, Cooldown = 60 })
|
||||||
}, {
|
}, {
|
||||||
@@ -2016,7 +2016,7 @@ public class DATA {
|
|||||||
})
|
})
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "1" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "1" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Mala })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Mala })
|
||||||
.AddPart(new EntityProductionModel { Pyre = 130, Cooldown = 30 })
|
.AddPart(new EntityProductionModel { Pyre = 130, Cooldown = 30 })
|
||||||
}, {
|
}, {
|
||||||
DataType.ISPELL_GreatHunt,
|
DataType.ISPELL_GreatHunt,
|
||||||
@@ -2024,7 +2024,7 @@ public class DATA {
|
|||||||
.AddPart(new EntityInfoModel { Name = "Great Hunt" })
|
.AddPart(new EntityInfoModel { Name = "Great Hunt" })
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "1" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "R", HotkeyGroup = "1" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityVanguardAddedModel { Immortal = ImmortalType.Xol })
|
.AddPart(new EntityVanguardAddedModel { ImmortalId = DataType.IMMORTAL_Xol })
|
||||||
.AddPart(new EntityProductionModel { Pyre = 150, Cooldown = 120 })
|
.AddPart(new EntityProductionModel { Pyre = 150, Cooldown = 120 })
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -28,10 +28,6 @@ public class EntityModel {
|
|||||||
IsSpeculative = isSpeculative;
|
IsSpeculative = isSpeculative;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Key] public int Id { get; set; } = 1;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public string DataType { get; set; }
|
public string DataType { get; set; }
|
||||||
|
|
||||||
// TODO Serilization currently being used for build orders
|
// TODO Serilization currently being used for build orders
|
||||||
@@ -41,12 +37,7 @@ public class EntityModel {
|
|||||||
|
|
||||||
public bool IsSpeculative { get; set; }
|
public bool IsSpeculative { get; set; }
|
||||||
|
|
||||||
//TODO Use these values
|
|
||||||
public string Name { get; set; } = "";
|
|
||||||
public string Descriptive { get; set; } = DescriptiveType.None;
|
public string Descriptive { get; set; } = DescriptiveType.None;
|
||||||
public string Description { get; set; } = "";
|
|
||||||
public string Notes { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public EntityModel Clone() {
|
public EntityModel Clone() {
|
||||||
return (EntityModel)MemberwiseClone();
|
return (EntityModel)MemberwiseClone();
|
||||||
@@ -124,13 +115,14 @@ public class EntityModel {
|
|||||||
string immortal) {
|
string immortal) {
|
||||||
if (hotkey == null || hotkey == "") return null;
|
if (hotkey == null || hotkey == "") return null;
|
||||||
|
|
||||||
|
//TODO
|
||||||
var foundList = from entity in GetEntitiesByHotkey()[hotkey]
|
var foundList = from entity in GetEntitiesByHotkey()[hotkey]
|
||||||
where entity.Hotkey()?.HotkeyGroup == hotkeyGroup
|
where entity.Hotkey()?.HotkeyGroup == hotkeyGroup
|
||||||
&& entity.Hotkey()?.HoldSpace == holdSpace
|
&& entity.Hotkey()?.HoldSpace == holdSpace
|
||||||
&& entity.Faction()?.Faction == faction
|
&& entity.Faction()?.Faction == faction
|
||||||
&& (entity.Vanguard()?.Immortal == immortal || entity.Vanguard() == null)
|
&& (entity.VanguardAdded()?.ImmortalId == immortal || entity.VanguardAdded() == null)
|
||||||
&& (entity.Replaceds().Count == 0 || (from replace in entity.Replaceds()
|
&& (entity.Replaceds().Count == 0 || (from replace in entity.Replaceds()
|
||||||
where replace.Immortal == immortal
|
where replace.ImmortalId == immortal
|
||||||
select replace).ToList().Count == 0)
|
select replace).ToList().Count == 0)
|
||||||
select entity;
|
select entity;
|
||||||
|
|
||||||
@@ -190,7 +182,7 @@ public class EntityModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public EntityVanguardAddedModel Vanguard() {
|
public EntityVanguardAddedModel VanguardAdded() {
|
||||||
return (EntityVanguardAddedModel)EntityParts.Find(x => x.GetType() == typeof(EntityVanguardAddedModel));
|
return (EntityVanguardAddedModel)EntityParts.Find(x => x.GetType() == typeof(EntityVanguardAddedModel));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
using Model.Immortal.Types;
|
using System;
|
||||||
|
using Model.Immortal.Entity.Data;
|
||||||
|
using Model.Immortal.Types;
|
||||||
|
|
||||||
namespace Model.Immortal.Entity.Parts;
|
namespace Model.Immortal.Entity.Parts;
|
||||||
|
|
||||||
public class EntityVanguardAddedModel : IEntityPartInterface {
|
public class EntityVanguardAddedModel : IEntityPartInterface {
|
||||||
public string Type { get; set; } = "EntityVanguardAddedModel";
|
public string Type { get; set; } = "EntityVanguardAddedModel";
|
||||||
public string Immortal { get; set; } = ImmortalType.Ajari;
|
|
||||||
public string Replaces { get; set; } = "";
|
public string ImmortalId { get; set; } = DataType.IMMORTAL_Ajari;
|
||||||
|
|
||||||
|
public string ReplaceId { get; set; } = "";
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
using Model.Immortal.Types;
|
using Model.Immortal.Entity.Data;
|
||||||
|
using Model.Immortal.Types;
|
||||||
|
|
||||||
namespace Model.Immortal.Entity.Parts;
|
namespace Model.Immortal.Entity.Parts;
|
||||||
|
|
||||||
public class EntityVanguardReplacedModel : IEntityPartInterface {
|
public class EntityVanguardReplacedModel : IEntityPartInterface {
|
||||||
public string Type { get; set; } = "EntityVanguardReplacedModel";
|
public string Type { get; set; } = "EntityVanguardReplacedModel";
|
||||||
public string Immortal { get; set; } = ImmortalType.Ajari;
|
public string ImmortalId { get; set; } = DataType.IMMORTAL_Xol;
|
||||||
public string ReplacedBy { get; set; } = "";
|
public string ReplacedById { get; set; } = "";
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,14 @@
|
|||||||
|
|
||||||
|
#if NO_SQL
|
||||||
|
|
||||||
|
#else
|
||||||
using Contexts;
|
using Contexts;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
#endif
|
||||||
using Model.Immortal.BuildOrders;
|
using Model.Immortal.BuildOrders;
|
||||||
using Model.Immortal.Economy;
|
using Model.Immortal.Economy;
|
||||||
using Model.Immortal.Entity;
|
using Model.Immortal.Entity;
|
||||||
|
using Model.Immortal.Entity.Data;
|
||||||
using Model.Immortal.MemoryTester;
|
using Model.Immortal.MemoryTester;
|
||||||
using Model.Website;
|
using Model.Website;
|
||||||
using Model.Website.Enums;
|
using Model.Website.Enums;
|
||||||
@@ -14,6 +18,20 @@ using Services.Immortal;
|
|||||||
|
|
||||||
namespace Services;
|
namespace Services;
|
||||||
|
|
||||||
|
|
||||||
|
public interface IEntityDialogService
|
||||||
|
{
|
||||||
|
public void Subscribe(Action action);
|
||||||
|
public void Unsubscribe(Action action);
|
||||||
|
|
||||||
|
public void AddDialog(string entityId);
|
||||||
|
public void CloseDialog();
|
||||||
|
|
||||||
|
public string? GetEntityId();
|
||||||
|
|
||||||
|
public bool HasDialog();
|
||||||
|
}
|
||||||
|
|
||||||
public interface IWebsiteService {
|
public interface IWebsiteService {
|
||||||
#if NO_SQL
|
#if NO_SQL
|
||||||
public List<WebPageModel> WebPageModels { get; set; }
|
public List<WebPageModel> WebPageModels { get; set; }
|
||||||
|
|||||||
@@ -14,12 +14,12 @@ public enum EntityFilterEvent {
|
|||||||
public class EntityFilterService : IEntityFilterService {
|
public class EntityFilterService : IEntityFilterService {
|
||||||
private readonly List<string> _entityChoices = new();
|
private readonly List<string> _entityChoices = new();
|
||||||
|
|
||||||
private readonly List<string> _factionChoices = new() { FactionType.QRath, FactionType.Aru, FactionType.Any };
|
private readonly List<string> _factionChoices = new() { FactionType.Any, FactionType.QRath, FactionType.Aru };
|
||||||
private readonly List<string> _immortalChoices = new();
|
private readonly List<string> _immortalChoices = new();
|
||||||
private string _entityType = EntityType.Army;
|
private string _entityType = EntityType.Army;
|
||||||
private string _searchText = "";
|
private string _searchText = "";
|
||||||
private string _selectedFaction = FactionType.QRath;
|
private string _selectedFaction = FactionType.Any;
|
||||||
private string _selectedImmortal = ImmortalType.Orzum;
|
private string _selectedImmortal = ImmortalType.Any;
|
||||||
|
|
||||||
|
|
||||||
public EntityFilterService() {
|
public EntityFilterService() {
|
||||||
@@ -118,7 +118,7 @@ public class EntityFilterService : IEntityFilterService {
|
|||||||
_immortalChoices.Clear();
|
_immortalChoices.Clear();
|
||||||
|
|
||||||
//TODO Consider getting these values from the database
|
//TODO Consider getting these values from the database
|
||||||
if (_selectedFaction == FactionType.QRath || _selectedFaction == FactionType.Any) {
|
/*if (_selectedFaction == FactionType.QRath || _selectedFaction == FactionType.Any) {
|
||||||
_immortalChoices.Add(ImmortalType.Orzum);
|
_immortalChoices.Add(ImmortalType.Orzum);
|
||||||
_immortalChoices.Add(ImmortalType.Ajari);
|
_immortalChoices.Add(ImmortalType.Ajari);
|
||||||
}
|
}
|
||||||
@@ -126,6 +126,16 @@ public class EntityFilterService : IEntityFilterService {
|
|||||||
if (_selectedFaction == FactionType.Aru || _selectedFaction == FactionType.Any) {
|
if (_selectedFaction == FactionType.Aru || _selectedFaction == FactionType.Any) {
|
||||||
_immortalChoices.Add(ImmortalType.Mala);
|
_immortalChoices.Add(ImmortalType.Mala);
|
||||||
_immortalChoices.Add(ImmortalType.Xol);
|
_immortalChoices.Add(ImmortalType.Xol);
|
||||||
|
}*/
|
||||||
|
|
||||||
|
if (_selectedFaction == FactionType.QRath || _selectedFaction == FactionType.Any) {
|
||||||
|
_immortalChoices.Add(DataType.IMMORTAL_Orzum);
|
||||||
|
_immortalChoices.Add(DataType.IMMORTAL_Ajari);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_selectedFaction == FactionType.Aru || _selectedFaction == FactionType.Any) {
|
||||||
|
_immortalChoices.Add(DataType.IMMORTAL_Mala);
|
||||||
|
_immortalChoices.Add(DataType.IMMORTAL_Xol);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
namespace Services.Website;
|
|
||||||
|
|
||||||
public class DialogService { }
|
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
using Model.Immortal.Entity;
|
||||||
|
|
||||||
|
namespace Services.Website;
|
||||||
|
|
||||||
|
public class EntityDialogService : IEntityDialogService
|
||||||
|
{
|
||||||
|
private string? entityId = null;
|
||||||
|
|
||||||
|
private event Action _onChange;
|
||||||
|
|
||||||
|
private void NotifyDataChanged() {
|
||||||
|
_onChange?.Invoke();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Subscribe(Action action) {
|
||||||
|
_onChange += action;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Unsubscribe(Action action) {
|
||||||
|
_onChange += action;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddDialog(string id)
|
||||||
|
{
|
||||||
|
entityId = id;
|
||||||
|
|
||||||
|
NotifyDataChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void CloseDialog()
|
||||||
|
{
|
||||||
|
entityId = null;
|
||||||
|
|
||||||
|
NotifyDataChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public bool HasDialog()
|
||||||
|
{
|
||||||
|
return entityId != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string? GetEntityId()
|
||||||
|
{
|
||||||
|
return entityId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
using System.Net.Http.Json;
|
using System.Net.Http.Json;
|
||||||
|
|
||||||
|
#if !NO_SQL
|
||||||
using Contexts;
|
using Contexts;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
#endif
|
||||||
|
|
||||||
using Model.Website;
|
using Model.Website;
|
||||||
|
|
||||||
namespace Services.Work;
|
namespace Services.Work;
|
||||||
@@ -10,6 +14,10 @@ public class WebsiteService : IWebsiteService {
|
|||||||
|
|
||||||
private bool isLoaded;
|
private bool isLoaded;
|
||||||
|
|
||||||
|
|
||||||
|
private event Action _onChange;
|
||||||
|
|
||||||
|
|
||||||
public WebsiteService(HttpClient httpClient) {
|
public WebsiteService(HttpClient httpClient) {
|
||||||
this.httpClient = httpClient;
|
this.httpClient = httpClient;
|
||||||
}
|
}
|
||||||
@@ -76,8 +84,6 @@ public class WebsiteService : IWebsiteService {
|
|||||||
NotifyDataChanged();
|
NotifyDataChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
private event Action _onChange;
|
|
||||||
|
|
||||||
private void NotifyDataChanged() {
|
private void NotifyDataChanged() {
|
||||||
_onChange?.Invoke();
|
_onChange?.Invoke();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user