ИИ гонщиков, запуск, перезапуск игры и пр
This commit is contained in:
1 parent
f557c58c9d
commit
efcfaae647
48 files changed
+1486
-212
No files matched your search
@@ -1,24 +1,44 @@
|
||||
using Code.Example.Race.Racer.AI;
|
||||
using Code.Example.Race.Racer;
|
||||
using Code.Infrastructure.EventBus;
|
||||
using Reflex.Attributes;
|
||||
using UnityEngine;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Example.Race.Track
|
||||
{
|
||||
public class CheckPoint : MonoBehaviour
|
||||
{
|
||||
[Inject] private EventBus _eventBus;
|
||||
[SerializeField] private GameObject _checkPointMesh;
|
||||
[SerializeField] private int _id; // Костыль инвалид лестница
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
var racer = other.GetComponent<Racer.Racer>();
|
||||
|
||||
if (racer.CurrentWaypointIndex != _id) return;
|
||||
|
||||
racer.NextWaypoint();
|
||||
|
||||
if (racer.Data.type == RacerType.Player)
|
||||
{
|
||||
Hide();
|
||||
_eventBus.RaiseEvent<IPlayerPassedCheckpointHandler>(h => h.OnPlayerPassedCheckpoint(racer));
|
||||
}
|
||||
|
||||
_eventBus.RaiseEvent<IRacerPassedCheckpointHandler>(h => h.OnRacerPassedCheckpoint(racer));
|
||||
}
|
||||
|
||||
public void Hide() => _checkPointMesh.SetActive(false);
|
||||
public void Show() => _checkPointMesh.SetActive(true);
|
||||
}
|
||||
|
||||
public interface IRacerPassedCheckpointHandler : IGlobalSubscriber
|
||||
{
|
||||
void OnRacerPassedCheckpoint(Racer.Racer racer);
|
||||
void LapPassed(Racer.Racer racer);
|
||||
}
|
||||
public interface IPlayerPassedCheckpointHandler : IGlobalSubscriber
|
||||
{
|
||||
void OnPlayerPassedCheckpoint(Racer.Racer racer);
|
||||
void OnPlayerLapPassed(Racer.Racer racer);
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ namespace Code.Example.Race.Track
|
||||
public struct TrackData
|
||||
{
|
||||
public List<Transform> RacerPoints;
|
||||
public List<Transform> Checkpoints;
|
||||
public List<CheckPoint> Checkpoints;
|
||||
public int LapCount;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user