diff --git a/Pal.Client/Floors/FrameworkService.cs b/Pal.Client/Floors/FrameworkService.cs index 4e6216f..1045591 100644 --- a/Pal.Client/Floors/FrameworkService.cs +++ b/Pal.Client/Floors/FrameworkService.cs @@ -110,6 +110,12 @@ namespace Pal.Client.Floors if (!_territoryState.IsInDeepDungeon() || !_floorService.IsReady(_territoryState.LastTerritory)) return; + if (_renderAdapter.RequireRedraw) + { + recreateLayout = true; + _renderAdapter.RequireRedraw = false; + } + ETerritoryType territoryType = (ETerritoryType)_territoryState.LastTerritory; MemoryTerritory memoryTerritory = _floorService.GetTerritoryIfReady(territoryType)!; if (_configuration.Mode == EMode.Online && memoryTerritory.SyncState == ESyncState.NotAttempted) diff --git a/Pal.Client/Rendering/RenderAdapter.cs b/Pal.Client/Rendering/RenderAdapter.cs index dfc2287..6659f24 100644 --- a/Pal.Client/Rendering/RenderAdapter.cs +++ b/Pal.Client/Rendering/RenderAdapter.cs @@ -27,6 +27,8 @@ namespace Pal.Client.Rendering _implementation = Recreate(null); } + public bool RequireRedraw { get; set; } + private IRenderer Recreate(ERenderer? currentRenderer) { ERenderer targetRenderer = _configuration.Renderer.SelectedRenderer; @@ -46,6 +48,7 @@ namespace Pal.Client.Rendering public void ConfigUpdated() { _implementation = Recreate(_implementation.GetConfigValue()); + RequireRedraw = true; } public void Dispose()