38 lines
1.4 KiB
C#
38 lines
1.4 KiB
C#
using UnityEngine;
|
|
|
|
namespace ProjectM.Client
|
|
{
|
|
/// <summary>
|
|
/// Client-side bridge that hands authored VFX prefabs (GabrielAguiar Shuriken systems) to
|
|
/// <see cref="CombatFeedbackSystem"/>. Mirrors the <see cref="PrototypeCameraRig"/> pattern: a MonoBehaviour
|
|
/// in the bootstrap scene exposes a static <see cref="Instance"/> the client presentation system reads.
|
|
/// Any field left null falls back to the procedural particle burst, so the game still runs without it.
|
|
/// </summary>
|
|
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;
|
|
}
|
|
}
|
|
}
|