This commit is contained in:
2026-08-14 18:51:23 +05:00
parent d559ab338a
commit 173bbb165c
29 changed files with 961 additions and 227 deletions
@@ -0,0 +1,36 @@
using UnityEngine;
[DisallowMultipleComponent]
public sealed class MapPlayer : MonoBehaviour
{
[Header("Map Position")]
[SerializeField] private Vector2 mapCoordinates = new(5f, 5f);
private MapCoordinateSystem coordinateSystem;
public Vector2 MapCoordinates => mapCoordinates;
public MapCoordinateSystem CoordinateSystem => coordinateSystem;
public void Configure(MapCoordinateSystem newCoordinateSystem)
{
coordinateSystem = newCoordinateSystem;
SetMapCoordinates(mapCoordinates);
}
public void SetMapCoordinates(Vector2 coordinates)
{
mapCoordinates = coordinateSystem != null
? coordinateSystem.ClampCoordinates(coordinates)
: new Vector2(
Mathf.Clamp(coordinates.x, 0f, MapCoordinateSystem.CoordinateMaximum),
Mathf.Clamp(coordinates.y, 0f, MapCoordinateSystem.CoordinateMaximum));
if (coordinateSystem != null && coordinateSystem.HasValidCorners())
transform.position = coordinateSystem.CoordinatesToWorldPosition(mapCoordinates);
}
public Vector2 GetMapCoordinates()
{
return mapCoordinates;
}
}