acdream/src/AcDream.App/Rendering/Selection/IRetailSelectionLightingSource.cs
Erik 047a4c83b5 fix(interaction): bind selection to live incarnations
Carry local WorldEntity identity through render hits, lighting pulses, and deferred movement actions so GUID reuse cannot target a replacement. Reset all session-owned selection and ItemHolder state and prevent combat auto-target during teardown.
2026-07-21 07:07:58 +02:00

20 lines
688 B
C#

namespace AcDream.App.Rendering.Selection;
/// <summary>
/// Supplies the transient material lighting override which retail applies to
/// a world object after SmartBox resolves a click.
/// </summary>
internal interface IRetailSelectionLightingSource
{
/// <summary>Advances the retail SmartBox flip cadence once for this frame.</summary>
void TickLighting();
/// <summary>
/// Returns the current CMaterial luminosity/diffuse replacement for an
/// object, or false when its authored material values must be restored.
/// </summary>
bool TryGetLighting(
uint serverGuid,
uint localEntityId,
out RetailSelectionLighting lighting);
}