mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-21 16:09:27 +01:00
Fix issue with file substitutions.
This commit is contained in:
parent
baa439d246
commit
37ffe52869
1 changed files with 8 additions and 5 deletions
|
|
@ -1,3 +1,4 @@
|
||||||
|
using Dalamud.Interface;
|
||||||
using Dalamud.Plugin.Services;
|
using Dalamud.Plugin.Services;
|
||||||
using OtterGui.Services;
|
using OtterGui.Services;
|
||||||
using Penumbra.Collections;
|
using Penumbra.Collections;
|
||||||
|
|
@ -13,6 +14,7 @@ namespace Penumbra.Api;
|
||||||
public class DalamudSubstitutionProvider : IDisposable, IApiService
|
public class DalamudSubstitutionProvider : IDisposable, IApiService
|
||||||
{
|
{
|
||||||
private readonly ITextureSubstitutionProvider _substitution;
|
private readonly ITextureSubstitutionProvider _substitution;
|
||||||
|
private readonly IUiBuilder _uiBuilder;
|
||||||
private readonly ActiveCollectionData _activeCollectionData;
|
private readonly ActiveCollectionData _activeCollectionData;
|
||||||
private readonly Configuration _config;
|
private readonly Configuration _config;
|
||||||
private readonly CommunicatorService _communicator;
|
private readonly CommunicatorService _communicator;
|
||||||
|
|
@ -21,9 +23,10 @@ public class DalamudSubstitutionProvider : IDisposable, IApiService
|
||||||
=> _config.UseDalamudUiTextureRedirection;
|
=> _config.UseDalamudUiTextureRedirection;
|
||||||
|
|
||||||
public DalamudSubstitutionProvider(ITextureSubstitutionProvider substitution, ActiveCollectionData activeCollectionData,
|
public DalamudSubstitutionProvider(ITextureSubstitutionProvider substitution, ActiveCollectionData activeCollectionData,
|
||||||
Configuration config, CommunicatorService communicator)
|
Configuration config, CommunicatorService communicator, IUiBuilder ui)
|
||||||
{
|
{
|
||||||
_substitution = substitution;
|
_substitution = substitution;
|
||||||
|
_uiBuilder = ui;
|
||||||
_activeCollectionData = activeCollectionData;
|
_activeCollectionData = activeCollectionData;
|
||||||
_config = config;
|
_config = config;
|
||||||
_communicator = communicator;
|
_communicator = communicator;
|
||||||
|
|
@ -41,6 +44,9 @@ public class DalamudSubstitutionProvider : IDisposable, IApiService
|
||||||
|
|
||||||
public void ResetSubstitutions(IEnumerable<Utf8GamePath> paths)
|
public void ResetSubstitutions(IEnumerable<Utf8GamePath> paths)
|
||||||
{
|
{
|
||||||
|
if (!_uiBuilder.UiPrepared)
|
||||||
|
return;
|
||||||
|
|
||||||
var transformed = paths
|
var transformed = paths
|
||||||
.Where(p => (p.Path.StartsWith("ui/"u8) || p.Path.StartsWith("common/font/"u8)) && p.Path.EndsWith(".tex"u8))
|
.Where(p => (p.Path.StartsWith("ui/"u8) || p.Path.StartsWith("common/font/"u8)) && p.Path.EndsWith(".tex"u8))
|
||||||
.Select(p => p.ToString());
|
.Select(p => p.ToString());
|
||||||
|
|
@ -91,10 +97,7 @@ public class DalamudSubstitutionProvider : IDisposable, IApiService
|
||||||
case ResolvedFileChanged.Type.Added:
|
case ResolvedFileChanged.Type.Added:
|
||||||
case ResolvedFileChanged.Type.Removed:
|
case ResolvedFileChanged.Type.Removed:
|
||||||
case ResolvedFileChanged.Type.Replaced:
|
case ResolvedFileChanged.Type.Replaced:
|
||||||
ResetSubstitutions(new[]
|
ResetSubstitutions([key]);
|
||||||
{
|
|
||||||
key,
|
|
||||||
});
|
|
||||||
break;
|
break;
|
||||||
case ResolvedFileChanged.Type.FullRecomputeStart:
|
case ResolvedFileChanged.Type.FullRecomputeStart:
|
||||||
case ResolvedFileChanged.Type.FullRecomputeFinished:
|
case ResolvedFileChanged.Type.FullRecomputeFinished:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue