TurnBasedStrategyCourse/Assets/Scripts/Unit.cs

29 lines
1007 B
C#

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<MoveAction>();
SpinAction = GetComponent<SpinAction>();
BaseActionArray = GetComponents<BaseAction>();
}
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;
}
}
}