33 lines
1.3 KiB
C#
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;
|
|
|
|
private 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);
|
|
}
|
|
}
|
|
} |