Merge pull request #87 from GlenCFL/mod-completions

Provide autocompletions for item mods.
This commit is contained in:
Ben Wallis 2018-09-27 07:08:47 +01:00 committed by GitHub
commit 781faae85d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 1052 additions and 233 deletions

View File

@ -1,121 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{E0693972-72C5-4E05-A9C5-A5943E4015C6}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Filtration.Tests</RootNamespace>
<AssemblyName>Filtration.Tests</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FluentAssertions, Version=4.19.2.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
<HintPath>..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.dll</HintPath>
</Reference>
<Reference Include="FluentAssertions.Core, Version=4.19.2.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
<HintPath>..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.Core.dll</HintPath>
</Reference>
<Reference Include="Moq, Version=4.5.30.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
<HintPath>..\packages\Moq.4.5.30\lib\net45\Moq.dll</HintPath>
</Reference>
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Repositories\TestItemFilterScriptRepository.cs" />
<Compile Include="Services\TestHTTPService.cs" />
<Compile Include="Services\TestItemFilterPersistenceService.cs" />
<Compile Include="Services\TestStaticDataService.cs" />
<Compile Include="Services\TestUpdateService.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Folder Include="Models\" />
<Folder Include="Resources\" />
<Folder Include="Translators\" />
<Folder Include="ViewModels\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Filtration.Common\Filtration.Common.csproj">
<Project>{8cb44f28-2956-4c2a-9314-72727262edd4}</Project>
<Name>Filtration.Common</Name>
</ProjectReference>
<ProjectReference Include="..\Filtration.Interface\Filtration.Interface.csproj">
<Project>{0f333344-7695-47b2-b0e6-172e4de74819}</Project>
<Name>Filtration.Interface</Name>
</ProjectReference>
<ProjectReference Include="..\Filtration.ObjectModel\Filtration.ObjectModel.csproj">
<Project>{4aac3beb-1dc1-483e-9d11-0e9334e80227}</Project>
<Name>Filtration.ObjectModel</Name>
</ProjectReference>
<ProjectReference Include="..\Filtration.Parser.Interface\Filtration.Parser.Interface.csproj">
<Project>{46383F20-02DF-48B4-B092-9088FA4ACD5A}</Project>
<Name>Filtration.Parser.Interface</Name>
</ProjectReference>
<ProjectReference Include="..\Filtration\Filtration.csproj">
<Project>{55e0a34c-e039-43d7-a024-a4045401cdda}</Project>
<Name>Filtration</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{E0693972-72C5-4E05-A9C5-A5943E4015C6}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Filtration.Tests</RootNamespace>
<AssemblyName>Filtration.Tests</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FluentAssertions, Version=4.19.2.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
<HintPath>..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.dll</HintPath>
</Reference>
<Reference Include="FluentAssertions.Core, Version=4.19.2.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
<HintPath>..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.Core.dll</HintPath>
</Reference>
<Reference Include="Moq, Version=4.5.30.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
<HintPath>..\packages\Moq.4.5.30\lib\net45\Moq.dll</HintPath>
</Reference>
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Repositories\TestItemFilterScriptRepository.cs" />
<Compile Include="Services\TestHTTPService.cs" />
<Compile Include="Services\TestItemFilterPersistenceService.cs" />
<Compile Include="Services\TestUpdateService.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Folder Include="Models\" />
<Folder Include="Resources\" />
<Folder Include="Translators\" />
<Folder Include="ViewModels\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Filtration.Common\Filtration.Common.csproj">
<Project>{8cb44f28-2956-4c2a-9314-72727262edd4}</Project>
<Name>Filtration.Common</Name>
</ProjectReference>
<ProjectReference Include="..\Filtration.Interface\Filtration.Interface.csproj">
<Project>{0f333344-7695-47b2-b0e6-172e4de74819}</Project>
<Name>Filtration.Interface</Name>
</ProjectReference>
<ProjectReference Include="..\Filtration.ObjectModel\Filtration.ObjectModel.csproj">
<Project>{4aac3beb-1dc1-483e-9d11-0e9334e80227}</Project>
<Name>Filtration.ObjectModel</Name>
</ProjectReference>
<ProjectReference Include="..\Filtration.Parser.Interface\Filtration.Parser.Interface.csproj">
<Project>{46383F20-02DF-48B4-B092-9088FA4ACD5A}</Project>
<Name>Filtration.Parser.Interface</Name>
</ProjectReference>
<ProjectReference Include="..\Filtration\Filtration.csproj">
<Project>{55e0a34c-e039-43d7-a024-a4045401cdda}</Project>
<Name>Filtration</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
-->
</Project>

View File

@ -1,44 +0,0 @@
using Filtration.Common.Services;
using Filtration.Services;
using Moq;
using NUnit.Framework;
namespace Filtration.Tests.Services
{
[TestFixture]
public class TestStaticDataService
{
[Test]
public void Constructor_CallsFileSystemService()
{
// Arrange
var mockFileSystemService = new Mock<IFileSystemService>();
mockFileSystemService.Setup(f => f.ReadFileAsString(It.IsAny<string>())).Returns("TestResult").Verifiable();
var service = new StaticDataService(mockFileSystemService.Object);
// Act
// Assert
mockFileSystemService.Verify();
}
[Ignore("Integration Test")]
[Test]
public void Constructor_ReadsFromFileCorrectly()
{
// Arrange
var fileSystemService = new FileSystemService();
var service = new StaticDataService(fileSystemService);
// Act
// Assert
}
}
}

View File

@ -438,6 +438,7 @@
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<EmbeddedResource Include="Resources\ItemMods.txt" />
<Resource Include="Resources\loading_spinner.gif" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>

View File

@ -225,34 +225,36 @@ namespace Filtration.Properties {
}
/// <summary>
/// Looks up a localized string similar to A Mother&apos;s Parting Gift
///Abandoned Wealth
///Aberrant Fossil
///Abyssal Axe
///Abyssal Cry
///Abyssal Sceptre
///Academy Map
///Acid Lakes Map
///Added Chaos Damage Support
///Added Cold Damage Support
///Added Fire Damage Support
///Added Lightning Damage Support
///Additional Accuracy Support
///Aetheric Fossil
///Agate Amulet
///Albino Rhoa Feather
///Alchemy Shard
///Alder Spiked Shield
///Alira&apos;s Amulet
///Alleyways Map
///Allflame
///Alloyed Spiked Shield
///Alteration Shard
///Amber Amulet
///Ambush Boots
///Ambush Leaguestone
///Ambush Mitts
///Ambus [rest of string was truncated]&quot;;.
/// Looks up a localized string similar to A Mother&apos;s Parting Gift
///Abandoned Wealth
///Aberrant Fossil
///Abyssal Axe
///Abyssal Cry
///Abyssal Sceptre
///Academy Map
///Acid Lakes Map
///Added Chaos Damage Support
///Added Cold Damage Support
///Added Fire Damage Support
///Added Lightning Damage Support
///Additional Accuracy Support
///Aetheric Fossil
///Agate Amulet
///Albino Rhoa Feather
///Alchemy Shard
///Alder Spiked Shield
///Alira&apos;s Amulet
///Alleyways Map
///Allflame
///Alloyed Spiked Shield
///Alteration Shard
///Amber Amulet
///Ambush Boots
///Ambush Leaguestone
///Ambush Mitts
///Ambusher
///Amethyst Flask
///Amethyst [rest of string was truncated]&quot;;.
/// </summary>
internal static string ItemBaseTypes {
get {
@ -261,49 +263,53 @@ namespace Filtration.Properties {
}
/// <summary>
/// Looks up a localized string similar to Abyss Jewel
///Active Skill Gems
///Amulets
///Axe
///Belts
///Body Armours
///Boots
///Bows
///Claws
///Currency
///Daggers
///Delve Socketable Currency
///Divination Card
///Fishing Rods
///Flasks
///Gems
///Gloves
///Helmets
///Hybrid Flasks
///Incursion Item
///Jewel
///Labyrinth Item
///Labyrinth Map Item
///Labyrinth Trinket
///Large Relics
///Leaguestone
///Life Flasks
///Mace
///Mana Flasks
///Map Fragments
///Maps
///Misc Map Items
///One Hand Axes
///One Hand Maces
///One Hand Swords
///Pantheon Soul
///Piece
///Quest Items
///Quivers
///Rings
///Sceptres
///Shields
///Stackable [rest of string was truncated]&quot;;.
/// Looks up a localized string similar to Abyss Jewel
///Active Skill Gems
///Amulets
///Axe
///Belts
///Body Armours
///Boots
///Bows
///Claws
///Currency
///Daggers
///Delve Socketable Currency
///Divination Card
///Fishing Rods
///Flasks
///Gems
///Gloves
///Helmets
///Hybrid Flasks
///Incursion Item
///Jewel
///Labyrinth Item
///Labyrinth Map Item
///Labyrinth Trinket
///Large Relics
///Leaguestone
///Life Flasks
///Mace
///Mana Flasks
///Map Fragments
///Maps
///Misc Map Items
///One Hand Axes
///One Hand Maces
///One Hand Swords
///Pantheon Soul
///Piece
///Quest Items
///Quivers
///Rings
///Sceptres
///Shields
///Stackable Currency
///Staves
///Support Skill Gems
///Sword
///T [rest of string was truncated]&quot;;.
/// </summary>
internal static string ItemClasses {
get {
@ -311,6 +317,71 @@ namespace Filtration.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Abbot&apos;s
///Abhorrent
///Acrobat&apos;s
///Adept&apos;s
///Agile
///Alchemist&apos;s
///Alluring
///Alpine
///Ample
///Anarchic
///Anarchist&apos;s
///Annealed
///Antagonist&apos;s
///Apprentice&apos;s
///Aqua
///Archmage&apos;s
///Arcing
///Arctic
///Armadillo&apos;s
///Arming
///Armoured
///Athlete&apos;s
///Avalanching
///Avenger&apos;s
///Azure
///Bandit&apos;s
///Barbed
///Battlemage&apos;s
///Beating
///Beautiful
///Beetle&apos;s
///Beryl
///Betrayer&apos;s
///Bipedal
///Biting
///Bitter
///Blasting
///Blazing
///Blistering
///Bloodthirsty
///Blue
///Blunt
///Blurred
///Boggart&apos;s
///Bolting
///Brawler&apos;s
///Breathtaking
///Brinerot
///Brutal
///Bubbling
///Burning
///Burnished
///Butterfly&apos;s
///Buttressed
///Buzzing
///Calming
///Capric [rest of string was truncated]&quot;;.
/// </summary>
internal static string ItemMods {
get {
return ResourceManager.GetString("ItemMods", resourceCulture);
}
}
/// <summary>
/// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
/// </summary>

View File

@ -208,4 +208,7 @@
<data name="ItemClasses" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ItemClasses.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="ItemMods" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ItemMods.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
</root>

View File

@ -0,0 +1,783 @@
Abbot's
Abhorrent
Acrobat's
Adept's
Agile
Alchemist's
Alluring
Alpine
Ample
Anarchic
Anarchist's
Annealed
Antagonist's
Apprentice's
Aqua
Archmage's
Arcing
Arctic
Armadillo's
Arming
Armoured
Athlete's
Avalanching
Avenger's
Azure
Bandit's
Barbed
Battlemage's
Beating
Beautiful
Beetle's
Beryl
Betrayer's
Bipedal
Biting
Bitter
Blasting
Blazing
Blistering
Bloodthirsty
Blue
Blunt
Blurred
Boggart's
Bolting
Brawler's
Breathtaking
Brinerot
Brutal
Bubbling
Burning
Burnished
Butterfly's
Buttressed
Buzzing
Calming
Capricious
Captivating
Carapaced
Carved
Caster's
Catalysed
Catalyzing
Caustic
Cauterising
Cautious
Ceremonial
Cerulean
Chaining
Chalybeous
Champion's
Chanter's
Chaotic
Charged
Charging
Cheetah's
Chemist's
Chilled
Chilling
Citaqualotl's
Cleaving
Clouded
Cobalt
Combatant's
Conflagrating
Conqueror's
Corrupted
Coursing
Crab's
Crackling
Cremating
Crocodile's
Cruel
Cryomancer's
Cryomantic
Crystalline
Dancer's
Darkened
Dauntless
Dazzling
Deadly
Deafening
Deceiver's
Deflecting
Degenerative
Demonic
Devastating
Dictator's
Discharging
Dissipating
Djinn's
Dragon's
Dragonfly's
Duelist's
Eldritch
Electrocuting
Electromantic
Elephant's
Emanant
Emperor's
Empowered
Empowering
Encased
Energetic
Energising
Enlightened
Entombing
Enveloped
Ephemeral
Esh's
Ethereal
Evanescent
Evasive
Exarch's
Exemplary
Experimenter's
Exuberant
Fawn's
Fearless
Feasting
Fecund
Fencer's
Fencing
Feral
Fevered
Fierce
Filigree
Flame Spinner's
Flaming
Flanking
Flaring
Flawless
Flea's
Fleet
Fletcher's
Fortified
Freezing
Frigid
Frost Weaver's
Frosted
Frozen
Fuelling
Gazelle's
Gentian
Ghost's
Girded
Glaciated
Gladiator's
Gleaming
Glimmering
Glinting
Glittering
Glowing
Glyphic
Gremlin's
Grounded
Guatelitzi's
Hailing
Hale
Halting
Harming
Harmonic
Haunting
Healthy
Heated
Heavy
Hellion's
Hero's
Hexproof
Hexwarded
Hissing
Honed
Humming
Hummingbird's
Ibex's
Icy
Illusion's
Illusory
Impenetrable
Impervious
Impregnable
Incandescent
Incanter's
Incinerating
Incombustible
Incorporeal
Inculcated
Indomitable
Infernal
Infixed
Infused
Infusing
Ingrained
Inspirational
Inspired
Inspiring
Instilled
Interpermeated
Interpolated
Ionising
Jagged
Jinxing
Journeyman's
Judging
Lacquered
Lamprey's
Lava Caller's
Layered
Leadership
Legend's
Lethal
Lich's
Lively
Lobstered
Lunar
Mage's
Magician's
Magmatic
Magpie's
Malicious
Malignant
Mammoth's
Master's
Matatl's
Mazarine
Mercenary's
Merciless
Mirage's
Mirrored
Molten
Monk's
Mosquito's
Moth's
Multifarious
Mutewind
Muttering
Naga's
Nautilus's
Necromancer's
Nightmare's
Nihilist's
Occultist's
Opalescent
Otherworldly
Overlord's
Overpowering
Oyster's
Panicked
Paragon's
Parched
Parrying
Perandus'
Perpetual
Phantasm's
Phased
Piercing
Pirate's
Pixie's
Plated
Polar
Polished
Prime
Prior's
Professor's
Protective
Pulsing
Puncturing
Punishing
Pyroclastic
Pyromantic
Quintessential
Radiating
Ram's
Rapturous
Razor-sharp
Reanimator's
Reaver's
Recovering
Redblade
Reinforced
Remora's
Resistant
Resolute
Resonant
Resonating
Resplendent
Rhino's
Ribbed
Ripping
Robust
Rotund
Runic
Runner's
Rupturing
Sabotage
Sanguine
Sapphire
Sapping
Saturated
Savage
Scholar's
Scintillating
Scorching
Scrapper's
Screaming
Searing
Seething
Seraphim's
Serene
Serrated
Shade's
Shadowy
Shaman's
Sharpened
Sharpshooter's
Shielding
Shimmering
Shining
Shocking
Shrieking
Sinister
Sizzling
Skeletal
Slicing
Slithering
Smiting
Smoking
Smouldering
Snapping
Snowy
Solar
Soldier's
Sorcerer's
Sparking
Spectre's
Spiny
Spirited
Splitting
Sprinter's
Squire's
Stallion's
Stalwart
Stout
Striking
Strong-Willed
Studded
Subterranean
Summoner's
Sundering
Surgeon's
Surging
Tacati's
Tainted
Technical
Tempered
Tempest King's
Thaumaturgist's
The Shaper's
Thickened
Thirsty
Thorny
Thunder Lord's
Thundering
Thwarting
Titan's
Topotante's
Trapping
Tul's
Turncoat's
Twinned
Tyrannical
Unassailable
Undead
Unfaltering
Unleashed
Unreal
Unstoppable
Unwavering
Unworldly
Urchin's
Vaal
Vampire's
Vaporous
Vicious
Victor's
Vigorous
Vile
Virile
Vivacious
Vivid
Volcanic
Volleying
Wailing
Warding
Warlock's
Warrior's
Wasp's
Weaponmaster's
Weeping
Whispering
Wicked
Winterbringer's
Wizard's
Wraith's
Wright's
Xopec's
Xoph's
Youthful
Zaffre
Zana's
of Absorption
of Abuse
of Acclaim
of Acclimatisation
of Accuracy
of Adamantite Skin
of Adaptation
of Adaption
of Adrenaline
of Amassment
of Anger
of Animation
of Annihilation
of Archaeology
of Archery
of Arcing
of Ashes
of Athletics
of Authority
of Balance
of Bameth
of Banishing
of Banishment
of Berserking
of Blasting
of Bleeding
of Blinding
of Bliss
of Bloodlines
of Burning
of Calamity
of Calm
of Celebration
of Champions
of Chilling
of Cinders
of Citaqualotl
of Coals
of Collecting
of Collision
of Combat
of Combusting
of Commanders
of Confidence
of Conflagrating
of Congealment
of Consumption
of Corundum Skin
of Crafting
of Craving
of Cunning
of Curing
of Dampening
of Darting
of Dazing
of Deadliness
of Delaying
of Demolishing
of Desecration
of Destruction
of Dexterity
of Disaster
of Discharge
of Dishonour
of Distraction
of Dousing
of Drought
of Ease
of Efficiency
of Elation
of Electricity
of Elemental Weakness
of Embers
of Enchanting
of Endurance
of Enfeeblement
of Entropy
of Ephij
of Euphoria
of Eviction
of Excavation
of Excitement
of Exile
of Expertise
of Exposure
of Expulsion
of Extinguishing
of Exuberance
of Fame
of Fending
of Ferocity
of Finesse
of Flames
of Flight
of Floe
of Focus
of Fog
of Fortitude
of Fracturing
of Freezing
of Frenzy
of Fury
of Gathering
of Giants
of Glaciation
of Gluttony
of Grandmastery
of Grounding
of Guarding
of Guatelitzi
of Haast
of Haemophilia
of Harm
of Havoc
of Haze
of Heat
of Hemomancy
of Hindering
of Hoarding
of Hordes
of Ice
of Immolation
of Impact
of Impotence
of Incision
of Infamy
of Instinct
of Insulating
of Insulation
of Intelligence
of Intercepting
of Ire
of Iron Skin
of Joy
of Legerdemain
of Light
of Lightning
of Lioneye
of Longevity
of Malevolence
of Malice
of Maneuvering
of Marshalling
of Mastery
of Matatl
of Menace
of Mending
of Miring
of Momentum
of Mysticism
of Needling
of Nimbleness
of Nirvana
of Nourishment
of Numbing
of Onslaught
of Opportunity
of Orchestration
of Order
of Osmosis
of Overflowing
of Penetrating
of Phasing
of Piercing
of Plunder
of Poisoning
of Potency
of Power
of Praxis
of Precision
of Preparation
of Prestidigitation
of Propulsion
of Puhuarte
of Radiance
of Rage
of Raiding
of Rallying
of Readiness
of Recovery
of Refilling
of Reflexes
of Regrowth
of Rejuvenation
of Rending
of Renown
of Resilience
of Resistance
of Restoration
of Retaliation
of Righteousness
of Rime
of Ruin
of Runes
of Rupturing
of Rust
of Savouring
of Shaping
of Shelter
of Shining
of Shocking
of Sin
of Sipping
of Skill
of Skirmishing
of Slamming
of Sleet
of Smothering
of Snow
of Soaring
of Sortilege
of Sparks
of Spellcraft
of Spirit
of Staggering
of Stasis
of Static
of Staunching
of Steadiness
of Steel Skin
of Stifling
of Stinging
of Stone Skin
of Strength
of Stunning
of Success
of Tacati
of Talent
of Taunting
of Temporal Chains
of Thick Skin
of Tolerance
of Toughness
of Training
of Triumph
of Tzteosh
of Unholy Might
of Unmaking
of Unwavering
of Vampirism
of Variegation
of Venom
of Vibrance
of Victory
of Vivaciousness
of Voltage
of Vulnerability
of Walling
of Warding
of Warming
of Weaponcraft
of Weight
of Wounding
of Zeal
of the Apocalypse
of the Apt
of the Assassin
of the Augur
of the Bear
of the Beast
of the Blur
of the Boxer
of the Brawler
of the Brute
of the Cloud
of the Clouds
of the Combatant
of the Comet
of the Crystal
of the Deadeye
of the Dragon
of the Drake
of the Elder
of the Elements
of the Falcon
of the Fox
of the Furnace
of the Galaxy
of the Gale
of the Genius
of the Gladiator
of the Gods
of the Godslayer
of the Goliath
of the Gorilla
of the Guardian
of the Hearth
of the Heavens
of the Hydra
of the Ice
of the Inferno
of the Infinite
of the Inquisitor
of the Inuit
of the Jaguar
of the Kaleidoscope
of the Kiln
of the Leopard
of the Leviathan
of the Lightning
of the Lion
of the Lizard
of the Lost
of the Lynx
of the Maelstrom
of the Magma
of the Marksman
of the Meteor
of the Mongoose
of the Multiverse
of the Newt
of the Panther
of the Penguin
of the Phantom
of the Philosopher
of the Phoenix
of the Polar Bear
of the Polymath
of the Prism
of the Prodigy
of the Pugilist
of the Pupil
of the Raider
of the Rainbow
of the Ranger
of the Sage
of the Salamander
of the Savant
of the Seal
of the Sky
of the Slayer
of the Sniper
of the Span
of the Squall
of the Starfish
of the Storm
of the Student
of the Tempest
of the Thunderhead
of the Titan
of the Troll
of the Underground
of the Universe
of the Virtuoso
of the Volcano
of the Wall
of the Walrus
of the Whelpling
of the Wind
of the Worthy
of the Wrestler
of the Yeti
of the Zephyr

View File

@ -10,6 +10,7 @@ namespace Filtration.Services
{
IEnumerable<string> ItemBaseTypes { get; }
IEnumerable<string> ItemClasses { get; }
IEnumerable<string> ItemMods { get; }
}
internal class StaticDataService : IStaticDataService
@ -23,10 +24,13 @@ namespace Filtration.Services
public IEnumerable<string> ItemClasses { get; private set; }
public IEnumerable<string> ItemMods { get; private set; }
private void PopulateStaticData()
{
ItemBaseTypes = new LineReader(() => new StringReader(Resources.ItemBaseTypes)).ToList();
ItemClasses = new LineReader(() => new StringReader(Resources.ItemClasses)).ToList();
ItemMods = new LineReader(() => new StringReader(Resources.ItemMods)).ToList();
}
}
}

View File

@ -78,7 +78,7 @@
<!-- Explicit Mods Template -->
<DataTemplate DataType="{x:Type blockItemTypes:HasExplicitModBlockItem}">
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" />
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutocompleteItemMods}" />
</DataTemplate>
<!-- Socket Groups Template -->

View File

@ -162,6 +162,8 @@ namespace Filtration.ViewModels
public IEnumerable<string> AutoCompleteItemBaseTypes => _staticDataService.ItemBaseTypes;
public IEnumerable<string> AutocompleteItemMods => _staticDataService.ItemMods;
public List<Type> BlockItemTypesAvailable => new List<Type>
{
typeof (ItemLevelBlockItem),
@ -352,7 +354,7 @@ namespace Filtration.ViewModels
var replaceColorsWindow = new ReplaceColorsWindow { DataContext = _replaceColorsViewModel };
replaceColorsWindow.ShowDialog();
}
private bool AddBlockItemAllowed(Type type)
{
var blockItem = (IItemFilterBlockItem)Activator.CreateInstance(type);
@ -636,7 +638,7 @@ namespace Filtration.ViewModels
BlockGroups = new ObservableCollection<ItemFilterBlockGroup>(groupList);
BlockGroupSuggestions = new ObservableCollection<string>();
foreach(var child in topGroup.ChildGroups)
{
if(!child.IsLeafNode)
@ -644,7 +646,7 @@ namespace Filtration.ViewModels
BlockGroupSuggestions.Add(child.GroupName);
}
}
RaisePropertyChanged(nameof(BlockGroups));
RaisePropertyChanged(nameof(BlockGroupSuggestions));
}