worldbox-observer-mod/IdleSpectator/InspectUi.cs
DazedAnon c11b87aa2e Implement gravestone features and enhance Lore interactions.
- Add gravestone management with max stack and lifetime settings
- Introduce new commands for grave interactions in scenarios
- Update Lore handling to include gravestone context and details
- Refactor death cause formatting for improved readability
- Increment version to 0.28.11 in mod.json
2026-07-17 16:32:10 -05:00

62 lines
1.3 KiB
C#

using UnityEngine;
namespace IdleSpectator;
/// <summary>
/// Shared dismiss for skull-opened Lore + paused dossier pin.
/// </summary>
public static class InspectUi
{
/// <summary>True after a skull open until <see cref="DismissAll"/>.</summary>
public static bool GraveSessionActive { get; private set; }
public static void MarkGraveSession()
{
GraveSessionActive = true;
}
public static void DismissAll()
{
GraveSessionActive = false;
ChronicleHud.ClearGraveStackScope();
if (ChronicleHud.DetailUnitId != 0)
{
ChronicleHud.ClearUnitDetail();
}
if (ChronicleHud.Visible)
{
ChronicleHud.SetVisible(false);
}
WatchCaption.ClearPausePin();
WatchCaption.ClearStatusBanner();
}
public static void Update()
{
if (!GraveSessionActive)
{
return;
}
if (!InputHelpers.GetMouseButtonDown(0))
{
return;
}
if (Time.unscaledTime < ChronicleHud.IgnoreDismissUntil)
{
return;
}
if (ChronicleHud.IsPointerOverPanel()
|| WatchCaption.IsPointerOverPanel())
{
return;
}
// Click outside Lore / dossier closes the skull inspect session.
DismissAll();
}
}