using Code.Example.Race.Racer.AI; using Code.Infrastructure.EventBus; using Reflex.Attributes; using UnityEngine; namespace Code.Example.Race.Track { public class CheckPoint : MonoBehaviour { [Inject] private EventBus _eventBus; private void OnTriggerEnter(Collider other) { var racer = other.GetComponent(); racer.NextWaypoint(); _eventBus.RaiseEvent(h => h.OnRacerPassedCheckpoint(racer)); } } public interface IRacerPassedCheckpointHandler : IGlobalSubscriber { void OnRacerPassedCheckpoint(Racer.AI.Racer racer); } }