Files
Infratest/Assets/Code/Example/Race/Track/CheckPoint.cs
T

24 lines
682 B
C#

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.AI.Racer>();
racer.NextWaypoint();
_eventBus.RaiseEvent<IRacerPassedCheckpointHandler>(h => h.OnRacerPassedCheckpoint(racer));
}
}
public interface IRacerPassedCheckpointHandler : IGlobalSubscriber
{
void OnRacerPassedCheckpoint(Racer.AI.Racer racer);
}
}