using System; using UnityAtoms.BaseAtoms; using UnityEngine; namespace MAVRIC.GEEKCup.GolfControls { public class StrokeCounter : MonoBehaviour { public IntVariable StrokeVariable; public BoolEvent IsIncrementedEvent; public int ParStrokeCount = 5; public VoidEvent LossEvent; private void OnEnable() { IsIncrementedEvent.Register(OnStrokeCountIncremented); } private void OnDisable() { IsIncrementedEvent.Unregister(OnStrokeCountIncremented); } public void OnHit(bool isHit) { if (!isHit) { return; } StrokeVariable.SetValue(StrokeVariable.Value + 1); } private void OnStrokeCountIncremented(bool ballStartedHit) { if (ballStartedHit) return; if (StrokeVariable.Value >= ParStrokeCount) { LossEvent.Raise(); } } } }