33 lines
1.3 KiB
C#

using UnityEngine;
namespace RR.Game2D.Entities
{
[DisallowMultipleComponent]
public class PlayerSpawn : MonoBehaviour
{
[Tooltip("Позиция игрока если нет активного чекпоинта")]
public Vector3 defaultSpawnPosition = Vector3.zero;
[Tooltip("Направление/вектор взгляда по умолчанию")]
public Vector2 defaultForward = Vector2.right;
void Start()
{
// Пытаемся получить позицию из CheckpointSystem, если он есть.
Vector3 spawnPos = defaultSpawnPosition;
Vector2 spawnForward = defaultForward;
if (CheckpointSystem.Instance != null)
{
spawnPos = CheckpointSystem.Instance.GetSpawnPosition(defaultSpawnPosition);
spawnForward = CheckpointSystem.Instance.GetSpawnForward(defaultForward);
}
// Перемещаем объект (например, сам игрок или родителя)
transform.position = spawnPos;
transform.rotation = spawnForward == Vector2.right
? Quaternion.identity
: Quaternion.Inverse(transform.rotation);
}
}
}