using System; using UnityEngine; using UnityEngine.Events; [Serializable] public class RodsAudioEvents : MonoBehaviour { [Header("Rods")] [Space(10f)] public FRod.RodPlayTranform OnRodDamaged; public FRod.RodPlayTranform OnLineCuted; public FRod.RodPlayTranform OnFishStriked; public FRod.RodWhooshEvent OnRodWhooshStart; public UnityEvent OnRodWhooshEnd; public UnityEvent OnRodTension; private void Start() { } private void OnEnable() { FRod.OnRodDamagedGlobal += OnRodDamagedEvent; FRod.OnLineCutedGlobal += OnLineCutedEvent; FRod.OnFishStrikedGlobal += OnFishStrikedEvent; FRod.OnRodWhooshStartGlobal += OnRodWhooshStartEvent; FRod.OnRodWhooshEndGlobal += OnRodWhooshEndEvent; FRod.OnRodTensionGlobal += OnRodTensionEvent; } private void OnDisable() { FRod.OnRodDamagedGlobal -= OnRodDamagedEvent; FRod.OnLineCutedGlobal -= OnLineCutedEvent; FRod.OnFishStrikedGlobal -= OnFishStrikedEvent; FRod.OnRodWhooshStartGlobal -= OnRodWhooshStartEvent; FRod.OnRodWhooshEndGlobal -= OnRodWhooshEndEvent; FRod.OnRodTensionGlobal -= OnRodTensionEvent; } private void OnRodDamagedEvent(Transform transform) { OnRodDamaged?.Invoke(transform); } private void OnLineCutedEvent(Transform transform) { OnLineCuted?.Invoke(transform); } private void OnFishStrikedEvent(Transform transform) { OnFishStriked?.Invoke(transform); } private void OnRodWhooshStartEvent(float value, Transform transform) { OnRodWhooshStart?.Invoke(value, transform); } private void OnRodWhooshEndEvent(Transform transform) { OnRodWhooshEnd?.Invoke(transform); } private void OnRodTensionEvent(Transform transform) { OnRodTension?.Invoke(transform); } }