fix(BuildCalc) Immortal filters
This commit is contained in:
@@ -14,13 +14,13 @@
|
|||||||
<ChildContent>
|
<ChildContent>
|
||||||
@if (FilterService.GetFactionType() == FactionType.QRath)
|
@if (FilterService.GetFactionType() == FactionType.QRath)
|
||||||
{
|
{
|
||||||
<option value="@ImmortalType.Orzum" selected>Orzum</option>
|
<option value="@DataType.IMMORTAL_Orzum" selected>Orzum</option>
|
||||||
<option value="@ImmortalType.Ajari">Ajari</option>
|
<option value="@DataType.IMMORTAL_Ajari">Ajari</option>
|
||||||
}
|
}
|
||||||
@if (FilterService.GetFactionType() == FactionType.Aru)
|
@if (FilterService.GetFactionType() == FactionType.Aru)
|
||||||
{
|
{
|
||||||
<option value="@ImmortalType.Mala" selected>Mala</option>
|
<option value="@DataType.IMMORTAL_Mala" selected>Mala</option>
|
||||||
<option value="@ImmortalType.Xol">Xol</option>
|
<option value="@DataType.IMMORTAL_Xol">Xol</option>
|
||||||
}
|
}
|
||||||
</ChildContent>
|
</ChildContent>
|
||||||
</FormSelectComponent>
|
</FormSelectComponent>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
@inject IJSRuntime jsRuntime;
|
@inject IJSRuntime jsRuntime;
|
||||||
|
|
||||||
|
@using System.Diagnostics
|
||||||
@implements IDisposable
|
@implements IDisposable
|
||||||
@inject IKeyService keyService
|
@inject IKeyService keyService
|
||||||
@inject IBuildOrderService buildOrderService
|
@inject IBuildOrderService buildOrderService
|
||||||
@@ -176,7 +177,9 @@
|
|||||||
// Move to Filter Service
|
// Move to Filter Service
|
||||||
bool InvalidVanguard(EntityModel entity)
|
bool InvalidVanguard(EntityModel entity)
|
||||||
{
|
{
|
||||||
if (entity.VanguardAdded() != null && entity.VanguardAdded()?.ImmortalId != filterService.GetImmortalType() && filterService.GetImmortalType() != ImmortalType.Any)
|
if (entity.VanguardAdded() != null
|
||||||
|
&& entity.VanguardAdded()?.ImmortalId != filterService.GetImmortalType()
|
||||||
|
&& filterService.GetImmortalType() != ImmortalType.Any)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -189,19 +192,13 @@
|
|||||||
{
|
{
|
||||||
if (entity.Replaceds().Count > 0)
|
if (entity.Replaceds().Count > 0)
|
||||||
{
|
{
|
||||||
var isReplaced = false;
|
|
||||||
foreach (var replaced in entity.Replaceds())
|
foreach (var replaced in entity.Replaceds())
|
||||||
{
|
{
|
||||||
if (filterService.GetImmortalType() == replaced.ImmortalId)
|
if (filterService.GetImmortalType() == replaced.ImmortalId)
|
||||||
{
|
{
|
||||||
isReplaced = true;
|
return true;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isReplaced)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class DATA
|
|||||||
{
|
{
|
||||||
DataType.IMMORTAL_Mala,
|
DataType.IMMORTAL_Mala,
|
||||||
new EntityModel(DataType.IMMORTAL_Mala, EntityType.Immortal)
|
new EntityModel(DataType.IMMORTAL_Mala, EntityType.Immortal)
|
||||||
.AddPart(new EntityInfoModel { Name = ImmortalType.Mala })
|
.AddPart(new EntityInfoModel { Name = "Mala" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityHarvestModel
|
.AddPart(new EntityHarvestModel
|
||||||
{
|
{
|
||||||
@@ -248,7 +248,7 @@ public class DATA
|
|||||||
{
|
{
|
||||||
DataType.IMMORTAL_Xol,
|
DataType.IMMORTAL_Xol,
|
||||||
new EntityModel(DataType.IMMORTAL_Xol, EntityType.Immortal)
|
new EntityModel(DataType.IMMORTAL_Xol, EntityType.Immortal)
|
||||||
.AddPart(new EntityInfoModel { Name = ImmortalType.Xol })
|
.AddPart(new EntityInfoModel { Name = "Xol" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
.AddPart(new EntityHarvestModel
|
.AddPart(new EntityHarvestModel
|
||||||
{
|
{
|
||||||
@@ -269,7 +269,7 @@ public class DATA
|
|||||||
{
|
{
|
||||||
DataType.IMMORTAL_Ajari,
|
DataType.IMMORTAL_Ajari,
|
||||||
new EntityModel(DataType.IMMORTAL_Ajari, EntityType.Immortal)
|
new EntityModel(DataType.IMMORTAL_Ajari, EntityType.Immortal)
|
||||||
.AddPart(new EntityInfoModel { Name = ImmortalType.Ajari })
|
.AddPart(new EntityInfoModel { Name = "Ajari" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityHarvestModel
|
.AddPart(new EntityHarvestModel
|
||||||
{
|
{
|
||||||
@@ -287,7 +287,7 @@ public class DATA
|
|||||||
{
|
{
|
||||||
DataType.IMMORTAL_Orzum,
|
DataType.IMMORTAL_Orzum,
|
||||||
new EntityModel(DataType.IMMORTAL_Orzum, EntityType.Immortal)
|
new EntityModel(DataType.IMMORTAL_Orzum, EntityType.Immortal)
|
||||||
.AddPart(new EntityInfoModel { Name = ImmortalType.Orzum })
|
.AddPart(new EntityInfoModel { Name = "Orzum" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityHarvestModel
|
.AddPart(new EntityHarvestModel
|
||||||
{
|
{
|
||||||
@@ -1440,6 +1440,9 @@ public class DATA
|
|||||||
Id = DataType.BUILDING_Reliquary,
|
Id = DataType.BUILDING_Reliquary,
|
||||||
Requirement = RequirementType.Production_Building
|
Requirement = RequirementType.Production_Building
|
||||||
})
|
})
|
||||||
|
.AddPart(new EntityVanguardReplacedModel
|
||||||
|
{ ImmortalId = DataType.IMMORTAL_Orzum, ReplacedById = DataType.UPGRADE_FaithCastBlades })
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1476,6 +1479,9 @@ public class DATA
|
|||||||
Id = DataType.BUILDING_EyeOfAros,
|
Id = DataType.BUILDING_EyeOfAros,
|
||||||
Requirement = RequirementType.Production_Building
|
Requirement = RequirementType.Production_Building
|
||||||
})
|
})
|
||||||
|
.AddPart(new EntityVanguardReplacedModel
|
||||||
|
{ ImmortalId = DataType.IMMORTAL_Orzum, ReplacedById = DataType.UPGRADE_IconOfKhastEem })
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1490,6 +1496,7 @@ public class DATA
|
|||||||
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "TAB" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "Q", HotkeyGroup = "TAB" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
.AddPart(new EntityFactionModel { Faction = FactionType.QRath })
|
||||||
.AddPart(new EntityProductionModel { Alloy = 50, Ether = 100, BuildTime = 60 })
|
.AddPart(new EntityProductionModel { Alloy = 50, Ether = 100, BuildTime = 60 })
|
||||||
|
.AddPart(new EntityRequirementModel() { Id = DataType.BUILDING_Reliquary, Requirement = RequirementType.Research_Building})
|
||||||
.AddPart(new EntityVanguardAddedModel
|
.AddPart(new EntityVanguardAddedModel
|
||||||
{ ReplaceId = DataType.UPGRADE_GreavesOfAhqar, ImmortalId = DataType.IMMORTAL_Orzum })
|
{ ReplaceId = DataType.UPGRADE_GreavesOfAhqar, ImmortalId = DataType.IMMORTAL_Orzum })
|
||||||
|
|
||||||
@@ -1618,6 +1625,9 @@ public class DATA
|
|||||||
Description = "Unlocks Offering" })
|
Description = "Unlocks Offering" })
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "TAB" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "W", HotkeyGroup = "TAB" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
|
.AddPart(new EntityVanguardReplacedModel
|
||||||
|
{ ImmortalId = DataType.IMMORTAL_Xol, ReplacedById = DataType.UPGRADE_Stalk })
|
||||||
|
|
||||||
.AddPart(new EntityRequirementModel
|
.AddPart(new EntityRequirementModel
|
||||||
{
|
{
|
||||||
Id = DataType.BUILDING_AltarOfTheWorthy,
|
Id = DataType.BUILDING_AltarOfTheWorthy,
|
||||||
@@ -1637,6 +1647,9 @@ public class DATA
|
|||||||
{ Name = "Blood Mother's Fevor", Descriptive = DescriptiveType.Upgrade })
|
{ Name = "Blood Mother's Fevor", Descriptive = DescriptiveType.Upgrade })
|
||||||
.AddPart(new EntityHotkeyModel { Hotkey = "V", HotkeyGroup = "TAB" })
|
.AddPart(new EntityHotkeyModel { Hotkey = "V", HotkeyGroup = "TAB" })
|
||||||
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
.AddPart(new EntityFactionModel { Faction = FactionType.Aru })
|
||||||
|
.AddPart(new EntityVanguardReplacedModel
|
||||||
|
{ ImmortalId = DataType.IMMORTAL_Xol, ReplacedById = DataType.UPGRADE_Ambush })
|
||||||
|
|
||||||
.AddPart(new EntityRequirementModel
|
.AddPart(new EntityRequirementModel
|
||||||
{
|
{
|
||||||
Id = DataType.BUILDING_AmberWomb,
|
Id = DataType.BUILDING_AmberWomb,
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ public class EntityModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public EntityVanguardAddedModel VanguardAdded()
|
public EntityVanguardAddedModel? VanguardAdded()
|
||||||
{
|
{
|
||||||
return ((EntityVanguardAddedModel)EntityParts.Find(x => x.GetType() == typeof(EntityVanguardAddedModel))!)!;
|
return ((EntityVanguardAddedModel)EntityParts.Find(x => x.GetType() == typeof(EntityVanguardAddedModel))!)!;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,5 @@
|
|||||||
public static class ImmortalType
|
public static class ImmortalType
|
||||||
{
|
{
|
||||||
public static string None = "None";
|
public static string None = "None";
|
||||||
|
|
||||||
public static string Any = "Any";
|
public static string Any = "Any";
|
||||||
|
|
||||||
public static string Orzum = "Orzum";
|
|
||||||
public static string Ajari = "Ajari";
|
|
||||||
|
|
||||||
public static string Mala = "Mala";
|
|
||||||
public static string Xol = "Xol";
|
|
||||||
}
|
}
|
||||||
@@ -16,6 +16,8 @@ public class BuildOrderService : IBuildOrderService
|
|||||||
private readonly int HumanMicro = 2;
|
private readonly int HumanMicro = 2;
|
||||||
private int lastInterval;
|
private int lastInterval;
|
||||||
|
|
||||||
|
private event Action OnChange = null!;
|
||||||
|
|
||||||
public Dictionary<int, List<EntityModel>> StartedOrders => buildOrder.StartedOrders;
|
public Dictionary<int, List<EntityModel>> StartedOrders => buildOrder.StartedOrders;
|
||||||
public Dictionary<int, List<EntityModel>> CompletedOrders => buildOrder.CompletedOrders;
|
public Dictionary<int, List<EntityModel>> CompletedOrders => buildOrder.CompletedOrders;
|
||||||
public Dictionary<string, int> UniqueCompletedTimes => buildOrder.UniqueCompletedTimes;
|
public Dictionary<string, int> UniqueCompletedTimes => buildOrder.UniqueCompletedTimes;
|
||||||
@@ -322,8 +324,6 @@ public class BuildOrderService : IBuildOrderService
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private event Action OnChange = null!;
|
|
||||||
|
|
||||||
private void NotifyDataChanged()
|
private void NotifyDataChanged()
|
||||||
{
|
{
|
||||||
OnChange?.Invoke();
|
OnChange?.Invoke();
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
using Model.Types;
|
using Model.Entity.Data;
|
||||||
|
using Model.Types;
|
||||||
|
|
||||||
namespace Services.Immortal;
|
namespace Services.Immortal;
|
||||||
|
|
||||||
public class ImmortalSelectionService : IImmortalSelectionService {
|
public class ImmortalSelectionService : IImmortalSelectionService {
|
||||||
private string _selectedFaction = FactionType.QRath;
|
private string _selectedFaction = FactionType.QRath;
|
||||||
private string _selectedImmortal = ImmortalType.Orzum;
|
private string _selectedImmortal = DataType.IMMORTAL_Orzum;
|
||||||
|
|
||||||
public void Subscribe(Action action) {
|
public void Subscribe(Action action) {
|
||||||
OnChange += action;
|
OnChange += action;
|
||||||
@@ -26,9 +27,9 @@ public class ImmortalSelectionService : IImmortalSelectionService {
|
|||||||
if (_selectedFaction == factionType) return false;
|
if (_selectedFaction == factionType) return false;
|
||||||
_selectedFaction = factionType;
|
_selectedFaction = factionType;
|
||||||
|
|
||||||
if (_selectedFaction == FactionType.QRath) _selectedImmortal = ImmortalType.Orzum;
|
if (_selectedFaction == FactionType.QRath) _selectedImmortal = DataType.IMMORTAL_Orzum;
|
||||||
|
|
||||||
if (_selectedFaction == FactionType.Aru) _selectedImmortal = ImmortalType.Mala;
|
if (_selectedFaction == FactionType.Aru) _selectedImmortal = DataType.IMMORTAL_Mala;
|
||||||
|
|
||||||
NotifyDataChanged();
|
NotifyDataChanged();
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -8,12 +8,15 @@ public class KeyService : IKeyService {
|
|||||||
private string _hotkeyGroup = "C";
|
private string _hotkeyGroup = "C";
|
||||||
private bool _isHoldingSpace;
|
private bool _isHoldingSpace;
|
||||||
|
|
||||||
|
private event Action? OnChange;
|
||||||
|
|
||||||
|
|
||||||
public void Subscribe(Action? action) {
|
public void Subscribe(Action? action) {
|
||||||
_onChange += action;
|
OnChange += action;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Unsubscribe(Action? action) {
|
public void Unsubscribe(Action? action) {
|
||||||
_onChange -= action;
|
OnChange -= action;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool AddPressedKey(string key) {
|
public bool AddPressedKey(string key) {
|
||||||
@@ -82,13 +85,8 @@ public class KeyService : IKeyService {
|
|||||||
return _hotkeyGroup;
|
return _hotkeyGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
private event Action? _onChange;
|
|
||||||
|
|
||||||
private void NotifyDataChanged() {
|
private void NotifyDataChanged() {
|
||||||
_onChange?.Invoke();
|
OnChange?.Invoke();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Action? OnChange() {
|
|
||||||
return _onChange;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -17,6 +17,10 @@ public class MemoryTesterService : IMemoryTesterService {
|
|||||||
|
|
||||||
private readonly Random random = new();
|
private readonly Random random = new();
|
||||||
|
|
||||||
|
|
||||||
|
private event MemoryAction OnChange = null!;
|
||||||
|
|
||||||
|
|
||||||
public void Subscribe(MemoryAction action) {
|
public void Subscribe(MemoryAction action) {
|
||||||
OnChange += action;
|
OnChange += action;
|
||||||
}
|
}
|
||||||
@@ -88,8 +92,6 @@ public class MemoryTesterService : IMemoryTesterService {
|
|||||||
|
|
||||||
//public delegate void MemoryAction(MemoryTesterActions memoryAction);
|
//public delegate void MemoryAction(MemoryTesterActions memoryAction);
|
||||||
|
|
||||||
private event MemoryAction OnChange = null!;
|
|
||||||
|
|
||||||
private void NotifyDataChanged(MemoryTesterEvent memoryAction) {
|
private void NotifyDataChanged(MemoryTesterEvent memoryAction) {
|
||||||
OnChange?.Invoke(memoryAction);
|
OnChange?.Invoke(memoryAction);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,14 @@
|
|||||||
public class TimingService : ITimingService {
|
public class TimingService : ITimingService {
|
||||||
private int _timing = 1500;
|
private int _timing = 1500;
|
||||||
|
|
||||||
|
private event Action? OnChange;
|
||||||
|
|
||||||
public void Subscribe(Action? action) {
|
public void Subscribe(Action? action) {
|
||||||
_onChange += action;
|
OnChange += action;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Unsubscribe(Action? action) {
|
public void Unsubscribe(Action? action) {
|
||||||
_onChange -= action;
|
OnChange -= action;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int GetTiming() {
|
public int GetTiming() {
|
||||||
@@ -22,13 +24,8 @@ public class TimingService : ITimingService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private event Action? _onChange;
|
|
||||||
|
|
||||||
private void NotifyDataChanged() {
|
private void NotifyDataChanged() {
|
||||||
_onChange?.Invoke();
|
OnChange?.Invoke();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Action? OnChange() {
|
|
||||||
return _onChange;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -14,6 +14,8 @@ public class NavigationService : INavigationService {
|
|||||||
private int webPageType;
|
private int webPageType;
|
||||||
private int webSectionType;
|
private int webSectionType;
|
||||||
|
|
||||||
|
private event Action OnChange = null!;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void Subscribe(Action action) {
|
public void Subscribe(Action action) {
|
||||||
@@ -98,8 +100,6 @@ public class NavigationService : INavigationService {
|
|||||||
return renderType;
|
return renderType;
|
||||||
}
|
}
|
||||||
|
|
||||||
private event Action OnChange = null!;
|
|
||||||
|
|
||||||
private void NotifyDataChanged() {
|
private void NotifyDataChanged() {
|
||||||
OnChange?.Invoke();
|
OnChange?.Invoke();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user