Add initial support for the Prophecy block item.
This commit is contained in:
parent
b5a424f9e9
commit
66e9aeec11
Filtration.ObjectModel
Filtration.Parser.Tests/Services
Filtration.Parser/Services
Filtration
UserControls
ViewModels
39
Filtration.ObjectModel/BlockItemTypes/ProphecyBlockItem.cs
Normal file
39
Filtration.ObjectModel/BlockItemTypes/ProphecyBlockItem.cs
Normal file
@ -0,0 +1,39 @@
|
||||
using System.Linq;
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
public class ProphecyBlockItem : StringListBlockItem
|
||||
{
|
||||
public override string PrefixText => "Prophecy";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Prophecy";
|
||||
|
||||
public override string SummaryText
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Items.Count > 0 && Items.Count < 4)
|
||||
{
|
||||
return "Prophecies: " +
|
||||
Items.Aggregate(string.Empty, (current, i) => current + i + ", ").TrimEnd(' ').TrimEnd(',');
|
||||
}
|
||||
if (Items.Count >= 4)
|
||||
{
|
||||
var remaining = Items.Count - 3;
|
||||
return "Prophecies: " + Items.Take(3)
|
||||
.Aggregate(string.Empty, (current, i) => current + i + ", ")
|
||||
.TrimEnd(' ')
|
||||
.TrimEnd(',') + " (+" + remaining + " more)";
|
||||
}
|
||||
return "Prophecies: (none)";
|
||||
}
|
||||
}
|
||||
|
||||
public override Color SummaryBackgroundColor => Colors.DarkMagenta;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.Prophecy;
|
||||
}
|
||||
}
|
@ -25,6 +25,7 @@ namespace Filtration.ObjectModel.Enums
|
||||
Rarity,
|
||||
Class,
|
||||
BaseType,
|
||||
Prophecy,
|
||||
HasExplicitMod,
|
||||
SetTextColor,
|
||||
SetBackgroundColor,
|
||||
|
@ -8,6 +8,7 @@
|
||||
Rarity,
|
||||
Class,
|
||||
BaseType,
|
||||
Prophecy,
|
||||
Sockets,
|
||||
LinkedSockets,
|
||||
SocketGroup,
|
||||
|
@ -92,6 +92,7 @@
|
||||
<Compile Include="BlockItemTypes\GemLevelBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\HasExplicitModBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\MapIconBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ProphecyBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ShapedMapBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ShaperItemBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ElderItemBlockItem.cs" />
|
||||
|
@ -119,8 +119,8 @@ namespace Filtration.Parser.Tests.Services
|
||||
var blockItem = result.BlockItems.OfType<ItemLevelBlockItem>().First();
|
||||
Assert.AreEqual(55, blockItem.FilterPredicate.PredicateOperand);
|
||||
Assert.AreEqual(FilterPredicateOperator.GreaterThanOrEqual, blockItem.FilterPredicate.PredicateOperator);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[Ignore("Update required, ItemFilterBlockTranslator does not set IsShowChecked anymore")]
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_BlockGroupsEnabled_ShowBlock_SetsBlockGroupIsCheckedCorrectly()
|
||||
@ -567,6 +567,25 @@ namespace Filtration.Parser.Tests.Services
|
||||
Assert.Contains("Test BaseType 2", blockItem.Items);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_Prophecy_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
@" Prophecy ""Test Prophecy 1"" ""TestOneWordProphecyInQuotes"" TestOneWordProphecyNotInQuotes ""Test Prophecy 2""";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is ProphecyBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<ProphecyBlockItem>().First();
|
||||
Assert.Contains("Test Prophecy 1", blockItem.Items);
|
||||
Assert.Contains("TestOneWordProphecyInQuotes", blockItem.Items);
|
||||
Assert.Contains("TestOneWordProphecyNotInQuotes", blockItem.Items);
|
||||
Assert.Contains("Test Prophecy 2", blockItem.Items);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_HasExplicitMod_ReturnsCorrectObject()
|
||||
{
|
||||
@ -934,6 +953,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
" ElderMap False" + Environment.NewLine +
|
||||
@" Class ""My Item Class"" AnotherClass ""AndAnotherClass""" + Environment.NewLine +
|
||||
@" BaseType MyBaseType ""Another BaseType""" + Environment.NewLine +
|
||||
@" Prophecy MyProphecy ""Another Prophecy""" + Environment.NewLine +
|
||||
@" HasExplicitMod MyMod ""Another Mod""" + Environment.NewLine +
|
||||
" JunkLine Let's ignore this one!" + Environment.NewLine +
|
||||
" #Quality Commented out quality line" + Environment.NewLine +
|
||||
@ -1008,6 +1028,11 @@ namespace Filtration.Parser.Tests.Services
|
||||
Assert.Contains("MyBaseType", baseTypeblockItem.Items);
|
||||
Assert.Contains("Another BaseType", baseTypeblockItem.Items);
|
||||
|
||||
var prophecyblockItem = result.BlockItems.OfType<ProphecyBlockItem>().First();
|
||||
Assert.AreEqual(2, prophecyblockItem.Items.Count);
|
||||
Assert.Contains("MyProphecy", prophecyblockItem.Items);
|
||||
Assert.Contains("Another Prophecy", prophecyblockItem.Items);
|
||||
|
||||
var hasExplicitModBlockItem = result.BlockItems.OfType<HasExplicitModBlockItem>().First();
|
||||
Assert.AreEqual(2, hasExplicitModBlockItem.Items.Count);
|
||||
Assert.Contains("MyMod", hasExplicitModBlockItem.Items);
|
||||
@ -1707,6 +1732,26 @@ namespace Filtration.Parser.Tests.Services
|
||||
Assert.AreEqual(expectedResult, result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateItemFilterBlockToString_Prophecies_ReturnsCorrectString()
|
||||
{
|
||||
// Arrange
|
||||
var expectedResult = "Show" + Environment.NewLine +
|
||||
" Prophecy \"Test Prophecy\" \"Another Prophecy\" \"Yet Another Prophecy\"";
|
||||
|
||||
var prophecyBlockItem = new ProphecyBlockItem();
|
||||
prophecyBlockItem.Items.Add("Test Prophecy");
|
||||
prophecyBlockItem.Items.Add("Another Prophecy");
|
||||
prophecyBlockItem.Items.Add("Yet Another Prophecy");
|
||||
_testUtility.TestBlock.BlockItems.Add(prophecyBlockItem);
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(expectedResult, result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateItemFilterBlockToString_HasExplicitMod_ReturnsCorrectString()
|
||||
{
|
||||
@ -2013,6 +2058,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
" Rarity = Unique" + Environment.NewLine +
|
||||
" Class \"Body Armour\" \"Gloves\" \"Belt\" \"Two Hand Axes\"" + Environment.NewLine +
|
||||
" BaseType \"Greater Life Flask\" \"Simple Robe\" \"Full Wyrmscale\"" + Environment.NewLine +
|
||||
" Prophecy \"The Cursed Choir\" \"A Valuable Combination\" \"The Beautiful Guide\"" + Environment.NewLine +
|
||||
" HasExplicitMod \"Guatelitzi's\" \"of Tacati\" \"Tyrannical\"" + Environment.NewLine +
|
||||
" SetTextColor 255 89 0 56" + Environment.NewLine +
|
||||
" SetBackgroundColor 0 0 0" + Environment.NewLine +
|
||||
@ -2046,6 +2092,11 @@ namespace Filtration.Parser.Tests.Services
|
||||
baseTypeItemblockItem.Items.Add("Simple Robe");
|
||||
baseTypeItemblockItem.Items.Add("Full Wyrmscale");
|
||||
_testUtility.TestBlock.BlockItems.Add(baseTypeItemblockItem);
|
||||
var prophecyItemblockItem = new ProphecyBlockItem();
|
||||
prophecyItemblockItem.Items.Add("The Cursed Choir");
|
||||
prophecyItemblockItem.Items.Add("A Valuable Combination");
|
||||
prophecyItemblockItem.Items.Add("The Beautiful Guide");
|
||||
_testUtility.TestBlock.BlockItems.Add(prophecyItemblockItem);
|
||||
var hasExplicitModBlockItem = new HasExplicitModBlockItem();
|
||||
hasExplicitModBlockItem.Items.Add("Guatelitzi's");
|
||||
hasExplicitModBlockItem.Items.Add("of Tacati");
|
||||
|
@ -46,7 +46,7 @@ namespace Filtration.Parser.Services
|
||||
return itemFilterCommentBlock;
|
||||
}
|
||||
|
||||
// This method converts a string into a ItemFilterBlock. This is used for pasting ItemFilterBlocks
|
||||
// This method converts a string into a ItemFilterBlock. This is used for pasting ItemFilterBlocks
|
||||
// and reading ItemFilterScripts from a file.
|
||||
public IItemFilterBlock TranslateStringToItemFilterBlock(string inputString, IItemFilterScript parentItemFilterScript, string originalString = "", bool initialiseBlockGroupHierarchyBuilder = false)
|
||||
{
|
||||
@ -159,6 +159,11 @@ namespace Filtration.Parser.Services
|
||||
AddStringListItemToBlockItems<BaseTypeBlockItem>(block, trimmedLine);
|
||||
break;
|
||||
}
|
||||
case "Prophecy":
|
||||
{
|
||||
AddStringListItemToBlockItems<ProphecyBlockItem>(block, trimmedLine);
|
||||
break;
|
||||
}
|
||||
case "Corrupted":
|
||||
{
|
||||
AddBooleanItemToBlockItems<CorruptedBlockItem>(block, trimmedLine);
|
||||
@ -268,7 +273,7 @@ namespace Filtration.Parser.Services
|
||||
RemoveExistingBlockItemsOfType<CustomSoundBlockItem>(block);
|
||||
|
||||
var match = Regex.Match(trimmedLine, @"\S+\s+(\S+)\s?(\d+)?");
|
||||
|
||||
|
||||
if (match.Success)
|
||||
{
|
||||
string firstValue = match.Groups[1].Value;
|
||||
@ -329,12 +334,12 @@ namespace Filtration.Parser.Services
|
||||
{
|
||||
// Only ever use the last Icon item encountered as multiples aren't valid.
|
||||
RemoveExistingBlockItemsOfType<MapIconBlockItem>(block);
|
||||
|
||||
|
||||
// TODO: Get size, color, shape values programmatically
|
||||
var match = Regex.Match(trimmedLine,
|
||||
@"\S+\s+(0|1|2)\s+(Red|Green|Blue|Brown|White|Yellow)\s+(Circle|Diamond|Hexagon|Square|Star|Triangle)\s*([#]?)(.*)",
|
||||
RegexOptions.IgnoreCase);
|
||||
|
||||
|
||||
if (match.Success)
|
||||
{
|
||||
var blockItemValue = new MapIconBlockItem
|
||||
@ -359,10 +364,10 @@ namespace Filtration.Parser.Services
|
||||
{
|
||||
// Only ever use the last BeamColor item encountered as multiples aren't valid.
|
||||
RemoveExistingBlockItemsOfType<PlayEffectBlockItem>(block);
|
||||
|
||||
|
||||
// TODO: Get colors programmatically
|
||||
var match = Regex.Match(trimmedLine, @"\S+\s+(Red|Green|Blue|Brown|White|Yellow)\s*(Temp)?", RegexOptions.IgnoreCase);
|
||||
|
||||
|
||||
if (match.Success)
|
||||
{
|
||||
var blockItemValue = new PlayEffectBlockItem
|
||||
@ -383,7 +388,7 @@ namespace Filtration.Parser.Services
|
||||
RemoveExistingBlockItemsOfType<PositionalSoundBlockItem>(block);
|
||||
|
||||
var match = Regex.Match(trimmedLine, @"\S+\s+""([^\*\<\>\?|]+)""");
|
||||
|
||||
|
||||
if (match.Success)
|
||||
{
|
||||
var blockItemValue = new CustomSoundBlockItem
|
||||
@ -510,7 +515,7 @@ namespace Filtration.Parser.Services
|
||||
private static void AddNumericFilterPredicateItemToBlockItems<T>(IItemFilterBlock block, string inputString) where T : NumericFilterPredicateBlockItem
|
||||
{
|
||||
var blockItem = Activator.CreateInstance<T>();
|
||||
|
||||
|
||||
SetNumericFilterPredicateFromString(blockItem.FilterPredicate, inputString);
|
||||
block.BlockItems.Add(blockItem);
|
||||
}
|
||||
@ -637,10 +642,10 @@ namespace Filtration.Parser.Services
|
||||
blockItems.Add(blockItem);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void AddBlockGroupToBlock(IItemFilterBlock block, string inputString)
|
||||
{
|
||||
var blockGroupText = GetTextAfterFirstComment(inputString);
|
||||
@ -725,7 +730,7 @@ namespace Filtration.Parser.Services
|
||||
// Remove trailing newline
|
||||
return commentWithHashes.TrimEnd('\r', '\n');
|
||||
}
|
||||
|
||||
|
||||
// This method converts an ItemFilterBlock object into a string. This is used for copying a ItemFilterBlock
|
||||
// to the clipboard, and when saving a ItemFilterScript.
|
||||
// TODO: Private
|
||||
|
@ -1,7 +1,7 @@
|
||||
<UserControl x:Class="Filtration.UserControls.BlockItemControl"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:userControls="clr-namespace:Filtration.UserControls"
|
||||
xmlns:commonConverters="clr-namespace:Filtration.Common.Converters;assembly=Filtration.Common"
|
||||
@ -11,7 +11,7 @@
|
||||
xmlns:enums="clr-namespace:Filtration.ObjectModel.Enums;assembly=Filtration.ObjectModel"
|
||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
xmlns:views="clr-namespace:Filtration.Views"
|
||||
mc:Ignorable="d"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=userControls:BlockItemControl}"
|
||||
d:DesignHeight="200" d:DesignWidth="190">
|
||||
<UserControl.Resources>
|
||||
@ -46,12 +46,12 @@
|
||||
<RadioButton IsChecked="{Binding BooleanValue, Converter={StaticResource BoolInverterConverter}}">False</RadioButton>
|
||||
</WrapPanel>
|
||||
</DataTemplate>
|
||||
|
||||
|
||||
<!-- NumericFilterPredicate Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemBaseTypes:NumericFilterPredicateBlockItem}">
|
||||
<userControls:NumericFilterPredicateControl Margin="5,5,5,5" NumericFilterPredicate="{Binding FilterPredicate}" Minimum="{Binding Minimum, Mode=OneTime}" Maximum="{Binding Maximum, Mode=OneTime}" />
|
||||
</DataTemplate>
|
||||
|
||||
|
||||
<!-- Rarity Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:RarityBlockItem}">
|
||||
<StackPanel Orientation="Horizontal" Margin="5,5,5,5">
|
||||
@ -70,12 +70,17 @@
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:ClassBlockItem}">
|
||||
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutoCompleteItemClasses}" />
|
||||
</DataTemplate>
|
||||
|
||||
|
||||
<!-- Base Type Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:BaseTypeBlockItem}">
|
||||
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutoCompleteItemBaseTypes}" />
|
||||
</DataTemplate>
|
||||
|
||||
<!-- Prophecy Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:ProphecyBlockItem}">
|
||||
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutoCompleteProphecies}" />
|
||||
</DataTemplate>
|
||||
|
||||
<!-- Explicit Mods Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:HasExplicitModBlockItem}">
|
||||
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutocompleteItemMods}" />
|
||||
@ -114,12 +119,12 @@
|
||||
<StackPanel>
|
||||
<xctk:ColorPicker SelectedColor="{Binding Color}" AvailableColors="{Binding ElementName=BlockItemContentControl, Path=DataContext.AvailableColors }" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors"/>
|
||||
<userControls:ThemeComponentSelectionControl ThemeComponent="{Binding ThemeComponent}"
|
||||
|
||||
|
||||
Margin="0,2,0,2">
|
||||
<userControls:ThemeComponentSelectionControl.AvailableThemeComponents>
|
||||
<MultiBinding Converter="{StaticResource AvailableThemeComponentsConverter}">
|
||||
<Binding Path="DataContext.Script.ThemeComponents" RelativeSource="{RelativeSource AncestorType={x:Type views:ItemFilterScriptView}}"/>
|
||||
<Binding Path="." />
|
||||
<Binding Path="." />
|
||||
</MultiBinding>
|
||||
</userControls:ThemeComponentSelectionControl.AvailableThemeComponents>
|
||||
</userControls:ThemeComponentSelectionControl>
|
||||
@ -164,7 +169,7 @@
|
||||
</userControls:ThemeComponentSelectionControl>
|
||||
</WrapPanel>
|
||||
</DataTemplate>
|
||||
|
||||
|
||||
<!-- Positional Sound Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:PositionalSoundBlockItem}">
|
||||
<WrapPanel HorizontalAlignment="Left">
|
||||
@ -225,7 +230,7 @@
|
||||
<Button Grid.Column="0" Grid.Row="0" Command="{Binding Path=DataContext.PlayCustomSoundCommand, RelativeSource={RelativeSource AncestorType={x:Type views:ItemFilterBlockView}}}" Width="20" Height="20" Background="Transparent" BorderBrush="Transparent">
|
||||
<Image Source="/Filtration;component/Resources/Icons/speaker_icon.png" VerticalAlignment="Center" HorizontalAlignment="Center" />
|
||||
</Button>
|
||||
<ComboBox Grid.Column="1" Grid.Row="0" ItemsSource="{Binding Path=DataContext.CustomSoundsAvailable, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource AncestorType={x:Type views:ItemFilterScriptView}}}"
|
||||
<ComboBox Grid.Column="1" Grid.Row="0" ItemsSource="{Binding Path=DataContext.CustomSoundsAvailable, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource AncestorType={x:Type views:ItemFilterScriptView}}}"
|
||||
SelectedValue="{Binding Value, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource MetroComboBox}"/>
|
||||
<Button Grid.Column="1" Grid.Row="0" Command="{Binding Path=DataContext.CustomSoundFileDialogCommand, RelativeSource={RelativeSource AncestorType={x:Type views:ItemFilterBlockView}}}"
|
||||
Width="20" Height="20" Background="Transparent" BorderBrush="Transparent" Margin="0,0,30,0" VerticalAlignment="Center" HorizontalAlignment="Right">
|
||||
|
@ -104,13 +104,14 @@ namespace Filtration.ViewModels.DesignTime
|
||||
{
|
||||
get { return Block.BlockItems.Where(b => !(b is IAudioVisualBlockItem)); }
|
||||
}
|
||||
|
||||
|
||||
public IEnumerable<IItemFilterBlockItem> AudioVisualBlockItems { get; }
|
||||
public bool AdvancedBlockGroup { get; }
|
||||
public bool AudioVisualBlockItemsGridVisible { get; set; }
|
||||
public bool DisplaySettingsPopupOpen { get; set; }
|
||||
public IEnumerable<string> AutoCompleteItemClasses { get; }
|
||||
public IEnumerable<string> AutoCompleteItemBaseTypes { get; }
|
||||
public IEnumerable<string> AutoCompleteProphecies { get; }
|
||||
public IEnumerable<string> AutocompleteItemMods { get; }
|
||||
public List<Type> BlockItemTypesAvailable => new List<Type>
|
||||
{
|
||||
@ -125,6 +126,7 @@ namespace Filtration.ViewModels.DesignTime
|
||||
typeof (SocketGroupBlockItem),
|
||||
typeof (ClassBlockItem),
|
||||
typeof (BaseTypeBlockItem),
|
||||
typeof (ProphecyBlockItem),
|
||||
typeof (IdentifiedBlockItem),
|
||||
typeof (CorruptedBlockItem),
|
||||
typeof (ElderItemBlockItem),
|
||||
|
@ -50,6 +50,7 @@ namespace Filtration.ViewModels
|
||||
bool DisplaySettingsPopupOpen { get; set; }
|
||||
IEnumerable<string> AutoCompleteItemClasses { get; }
|
||||
IEnumerable<string> AutoCompleteItemBaseTypes { get; }
|
||||
IEnumerable<string> AutoCompleteProphecies { get; }
|
||||
IEnumerable<string> AutocompleteItemMods { get; }
|
||||
List<Type> BlockItemTypesAvailable { get; }
|
||||
List<Type> AudioVisualBlockItemTypesAvailable { get; }
|
||||
@ -203,6 +204,8 @@ namespace Filtration.ViewModels
|
||||
|
||||
public IEnumerable<string> AutoCompleteItemBaseTypes => _staticDataService.ItemBaseTypes;
|
||||
|
||||
public IEnumerable<string> AutoCompleteProphecies => new List<string>();
|
||||
|
||||
public IEnumerable<string> AutocompleteItemMods => _staticDataService.ItemMods;
|
||||
|
||||
public List<Type> BlockItemTypesAvailable => new List<Type>
|
||||
@ -218,6 +221,7 @@ namespace Filtration.ViewModels
|
||||
typeof (SocketGroupBlockItem),
|
||||
typeof (ClassBlockItem),
|
||||
typeof (BaseTypeBlockItem),
|
||||
typeof (ProphecyBlockItem),
|
||||
typeof (IdentifiedBlockItem),
|
||||
typeof (CorruptedBlockItem),
|
||||
typeof (ElderItemBlockItem),
|
||||
|
Loading…
x
Reference in New Issue
Block a user