mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-12 10:17:22 +01:00
Only allow redrawing furniture inside.
This commit is contained in:
parent
d026ca888f
commit
aee942468e
1 changed files with 2 additions and 24 deletions
|
|
@ -235,12 +235,6 @@ public sealed unsafe partial class RedrawService : IDisposable
|
|||
for (var i = 0; i < _queue.Count; ++i)
|
||||
{
|
||||
var idx = _queue[i];
|
||||
if (idx == FurnitureIdx)
|
||||
{
|
||||
EnableFurniture();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (idx == ~FurnitureIdx)
|
||||
{
|
||||
DisableFurniture();
|
||||
|
|
@ -380,6 +374,8 @@ public sealed unsafe partial class RedrawService : IDisposable
|
|||
var currentTerritory = housingManager->CurrentTerritory;
|
||||
if (currentTerritory == null)
|
||||
return;
|
||||
if (!housingManager->IsInside())
|
||||
return;
|
||||
|
||||
foreach (var f in currentTerritory->FurnitureSpan.PointerEnumerator())
|
||||
{
|
||||
|
|
@ -389,22 +385,4 @@ public sealed unsafe partial class RedrawService : IDisposable
|
|||
gameObject->DisableDraw();
|
||||
}
|
||||
}
|
||||
|
||||
private void EnableFurniture()
|
||||
{
|
||||
var housingManager = HousingManager.Instance();
|
||||
if (housingManager == null)
|
||||
return;
|
||||
var currentTerritory = housingManager->CurrentTerritory;
|
||||
if (currentTerritory == null)
|
||||
return;
|
||||
|
||||
foreach (var f in currentTerritory->FurnitureSpan.PointerEnumerator())
|
||||
{
|
||||
var gameObject = f->Index >= 0 ? currentTerritory->HousingObjectManager.ObjectsSpan[f->Index].Value : null;
|
||||
if (gameObject == null)
|
||||
continue;
|
||||
gameObject->EnableDraw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue