using UnityEngine;
namespace ProjectM.Client
{
///
/// EB-1 — static live-tunable knobs for (structure damage chips +
/// destruction bursts). A presentation-only bridge (mirrors WorldFeelConfig); reset on play-enter via
/// so poked values never leak across fast-enter-playmode sessions.
/// Read only on the main thread by the managed feedback system, never from Burst.
///
public static class StructureFeelConfig
{
public static bool Enabled = true;
/// A despawn farther than this from the local player does NOT fire a death burst — so the
/// base->expedition RegionRelevancy despawn (all base structures drop at once) stays silent.
public static float ProximityRange = 45f;
public static int ChipBurstCount = 8;
public static int DeathBurstCount = 40;
public static float ChipSfxVolume = 0.25f;
public static float DeathSfxVolume = 0.6f;
// A LOUD, low-frequency punch is reserved for a structure DEATH only; per-chip feedback is camera-silent so
// a wave of hits never sustains a nauseating shake (AddShake clamps cumulatively, PunchFov takes a max).
public static float DeathFovKick = 5.5f;
public static float DeathShake = 0.35f;
public static Color DamageTint = new Color(2.4f, 1.4f, 0.4f); // amber HDR spark on a hit
public static Color DeathTint = new Color(3.0f, 0.7f, 0.25f); // red-orange HDR loss burst
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
static void ResetDefaults()
{
Enabled = true;
ProximityRange = 45f;
ChipBurstCount = 8;
DeathBurstCount = 40;
ChipSfxVolume = 0.25f;
DeathSfxVolume = 0.6f;
DeathFovKick = 5.5f;
DeathShake = 0.35f;
DamageTint = new Color(2.4f, 1.4f, 0.4f);
DeathTint = new Color(3.0f, 0.7f, 0.25f);
}
}
}