using UnityEngine; namespace ProjectM.Client { /// /// Client-side bridge that hands authored VFX prefabs (GabrielAguiar Shuriken systems) to /// . Mirrors the pattern: a MonoBehaviour /// in the bootstrap scene exposes a static the client presentation system reads. /// Any field left null falls back to the procedural particle burst, so the game still runs without it. /// public class VFXConfig : MonoBehaviour { public static VFXConfig Instance { get; private set; } [Header("Combat VFX (one-shot Shuriken prefabs)")] [Tooltip("Spawned at the player muzzle on each shot.")] public GameObject Muzzle; [Tooltip("Follows each in-flight projectile ghost; destroyed when the projectile despawns.")] public GameObject ProjectileTrail; [Tooltip("Spawned at a damaged target on each hit.")] public GameObject Hit; [Tooltip("Spawned at a Husk's last position when it dies.")] public GameObject EnemyDeath; [Tooltip("Spawned when the local player drops to 0 HP (falls back to EnemyDeath if null).")] public GameObject PlayerDeath; void Awake() { Instance = this; } void OnDestroy() { if (Instance == this) Instance = null; } } }