Make plugin compatible with AllaganTools 1.7.1.1+
This commit is contained in:
parent
f80b694d60
commit
0b797bd08b
@ -3,27 +3,26 @@ using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Influx.AllaganTools;
|
||||
|
||||
internal sealed class FilterResult
|
||||
{
|
||||
private readonly object _delegate;
|
||||
private readonly PropertyInfo _sortedItems;
|
||||
private readonly IEnumerable _searchResultList;
|
||||
|
||||
public FilterResult(object @delegate)
|
||||
public FilterResult(IEnumerable searchResultList)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(@delegate);
|
||||
_delegate = @delegate;
|
||||
_sortedItems =
|
||||
_delegate.GetType().GetProperty("SortedItems") ?? throw new MissingMemberException();
|
||||
ArgumentNullException.ThrowIfNull(searchResultList);
|
||||
_searchResultList = searchResultList;
|
||||
}
|
||||
|
||||
public IReadOnlyList<SortingResult> GenerateFilteredList()
|
||||
{
|
||||
return ((IEnumerable)_sortedItems.GetValue(_delegate)!)
|
||||
return _searchResultList
|
||||
.Cast<object>()
|
||||
.Select(x => x.GetType()
|
||||
.GetField("_sortingResult", BindingFlags.Instance | BindingFlags.NonPublic)!
|
||||
.GetValue(x)!)
|
||||
.Select(x => new SortingResult(x))
|
||||
.ToList();
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Influx.AllaganTools;
|
||||
@ -23,6 +24,6 @@ internal sealed class ListService : IListService
|
||||
public FilterResult? GetFilterByKeyOrName(string keyOrName)
|
||||
{
|
||||
var f = _getListByKeyOrName.Invoke(_listService, [keyOrName]);
|
||||
return f != null ? new FilterResult(_refreshList.Invoke(_listFilterService, [f])!) : null;
|
||||
return f != null ? new FilterResult((IEnumerable)_refreshList.Invoke(_listFilterService, [f])!) : null;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
<Project Sdk="Dalamud.NET.Sdk/10.0.0">
|
||||
<PropertyGroup>
|
||||
<Version>1.2</Version>
|
||||
<Version>1.3</Version>
|
||||
<OutputPath>dist</OutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user