BetterPartyFinder/BetterPartyFinder.csproj --- XML 2 2 3 <PropertyGroup> 3 <PropertyGroup> 4 <TargetFramework>net8-windows</TargetFramework> 4 <TargetFramework>net8-windows</TargetFramework> 5 <Version>1.4.9</Version> 5 <Version>1.5.1</Version> 6 <LangVersion>latest</LangVersion> 6 <LangVersion>latest</LangVersion> 7 <Nullable>enable</Nullable> 7 <Nullable>enable</Nullable> 8 <ProduceReferenceAssembly>false</ProduceReferenceAssembly> 8 <ProduceReferenceAssembly>false</ProduceReferenceAssembly>   BetterPartyFinder/CategoryHelper.cs --- 1/4 --- C# 21 21 DeepDungeons, 22 22 AdventuringForays, 23 23 VCDungeon, .. 24 Chaotic, 24 25 } 25 26 26 27 internal static class UiCategoryExt   BetterPartyFinder/CategoryHelper.cs --- 2/4 --- C# 48 49 UiCategory.DeepDungeons => ct.GetRow((uint) ContentType2.DeepDungeons).Name.ExtractText(), 49 50 UiCategory.AdventuringForays => addon.GetRow(2_307).Text.ExtractText(), 50 51 UiCategory.VCDungeon => ct.GetRow((uint)ContentType2.VCDungeon).Name.ExtractText(), .. 52 UiCategory.Chaotic => ct.GetRow((uint)ContentType2.Chaotic).Name.ExtractText(), 51 53 _ => null, 52 54 }; 53 55 }   BetterPartyFinder/CategoryHelper.cs --- 3/4 --- C# 83 85 UiCategory.DeepDungeons => isOther && listing.Category == DutyCategory.DeepDungeon, 84 86 UiCategory.AdventuringForays => isNormal && listing.Category == DutyCategory.FieldOperation, 85 87 UiCategory.VCDungeon => isNormal && listing.Duty.Value.ContentType.RowId == (uint) ContentType2.VCDungeon, .. 88 UiCategory.Chaotic => isNormalDuty && listing.Duty.Value.ContentType.RowId == (uint) ContentType2.Chaotic, 86 89 _ => false, 87 90 }; 88 91   BetterPartyFinder/CategoryHelper.cs --- 4/4 --- C# 118 121 Eureka = 26, 119 122 UltimateRaids = 28, 120 123 VCDungeon = 30, ... 124 Chaotic = 37, 121 125 } 122 126 }   BetterPartyFinder/Util.cs --- 1/2 --- C# 1 1 using System.Collections.Generic; 2 2 using System.Globalization; 3 3 using System.Linq; . 4 using System.Runtime.CompilerServices; 4 5 using Dalamud.Game.ClientState.Objects.SubKinds; 5 6 using Lumina.Excel.Sheets; 6 7   BetterPartyFinder/Util.cs --- 2/2 --- C# 30 31 31 internal static IEnumerable<World> WorldsOnDataCentre(IPlayerCharacter character) 32 internal static IEnumerable<World> WorldsOnDataCentre(IPlayerCharacter character) 32 { 33 { 33 var dcRow = character.HomeWorld.Value.DataCenter.RowId; 34 var dcRow = character.HomeWorld.Value.DataCenter.Value.Region; 34 return Plugin.DataManager.GetExcelSheet<World>().Where(world => world.IsPublic && world.DataCenter.RowId == 35 return Plugin.DataManager.GetExcelSheet<World>().Where(world => world.IsPublic && world.DataCenter.Value.Reg .. dcRow); .. ion == dcRow); 35 } 36 } .. 37 .. 38 /// <summary> Iterate over enumerables with additional index. </summary> .. 39 [MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)] .. 40 public static IEnumerable<(T Value, int Index)> WithIndex<T>(this IEnumerable<T> list) .. 41 => list.Select((x, i) => (x, i)); 36 } 42 }   BetterPartyFinder/Windows/Main/MainWindow.Duties.cs --- C# 19 19 21, // Deep Dungeons 20 20 26, // Eureka 21 21 28, // Ultimate Raids 22 22 30, // V&C Dungeon Finder .. 23 37 // Chaotic 23 24 ]; 24 25 25 26 private void DrawDutiesTab(ConfigurationFilter filter)   BetterPartyFinder/Windows/Main/MainWindow.Players.cs --- C# 23 23 24 ImGui.SameLine(); 24 ImGui.SameLine(); 25 25 26 var worlds = Util.WorldsOnDataCentre(player).OrderBy(world => world.Name.ExtractText()).ToList(); 26 var worlds = Util.WorldsOnDataCentre(player).OrderByDescending(world => world.DataCenter.RowId).ThenBy(world .. .. => world.Name.ExtractText()).ToList(); .. 27 .. 28 using (var combo = ImRaii.Combo("###player-world", worlds[SelectedWorld].Name.ExtractText())) .. 29 { .. 30 if (combo.Success) .. 31 { 27 var worldNames = worlds.Select(world => world.Name.ToString()).ToArray(); 32 var lastDc = worlds.First().DataCenter.RowId; 28 33 foreach (var (world, idx) in worlds.WithIndex()) 29 ImGui.Combo("###player-world", ref SelectedWorld, worldNames, worldNames.Length); 34 { .. 35 if (ImGui.Selectable(world.Name.ExtractText(), SelectedWorld == idx)) .. 36 SelectedWorld = idx; .. 37 .. 38 if (lastDc != world.DataCenter.RowId) .. 39 { .. 40 lastDc = world.DataCenter.RowId; .. 41 ImGui.Separator(); .. 42 } .. 43 } .. 44 } .. 45 } .. 46 30 ImGui.PopItemWidth(); 47 ImGui.PopItemWidth(); 31 48