Files
Fishing2/Assets/Obvious/Soap/Examples/Content/Scripts/VfxSpawner.cs
2026-01-01 23:09:08 +08:00

37 lines
1.2 KiB
C#

using UnityEngine;
namespace Obvious.Soap.Example
{
[HelpURL("https://obvious-game.gitbook.io/soap/scene-documentation/3_scriptablelists/callbacks")]
public class VfxSpawner : MonoBehaviour
{
[SerializeField] private ScriptableListPlayer scriptableListPlayer = null;
[SerializeField] private GameObject _spawnVFXPrefab = null;
[SerializeField] private GameObject _destroyVFXPrefab = null;
public void Awake()
{
scriptableListPlayer.OnItemRemoved += OnPlayerDestroyed;
scriptableListPlayer.OnItemAdded += OnPlayerSpawned;
}
public void OnDestroy()
{
scriptableListPlayer.OnItemRemoved -= OnPlayerDestroyed;
scriptableListPlayer.OnItemAdded -= OnPlayerSpawned;
}
private void OnPlayerSpawned(Player player)
{
Instantiate(_spawnVFXPrefab, player.transform.position, Quaternion.identity, transform);
}
private void OnPlayerDestroyed(Player player)
{
Instantiate(_destroyVFXPrefab, player.transform.position, Quaternion.identity, transform);
}
}
}