using Actions; using Grid; using UnityEngine; public class Unit : MonoBehaviour { public GridPosition GridPosition { get; private set; } public MoveAction MoveAction { get; private set; } public SpinAction SpinAction { get; private set; } public BaseAction[] BaseActionArray { get; private set; } private void Awake() { MoveAction = GetComponent(); SpinAction = GetComponent(); BaseActionArray = GetComponents(); } private void Start() { GridPosition = LevelGrid.Instance.GetGridPosition(transform.position); LevelGrid.Instance.AddUnitAtGridPosition(GridPosition, this); } private void Update() { GridPosition newGridPosition = LevelGrid.Instance.GetGridPosition(transform.position); if (newGridPosition != GridPosition) { LevelGrid.Instance.UnitMovedGridPosition(this, GridPosition, newGridPosition); GridPosition = newGridPosition; } } }