21 lines
701 B
C#
21 lines
701 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Grid;
|
|
using UnityEngine;
|
|
|
|
namespace Actions {
|
|
public abstract class BaseAction : MonoBehaviour {
|
|
protected bool IsActive;
|
|
protected Action OnActionComplete;
|
|
protected Unit Unit;
|
|
|
|
protected virtual void Awake() => Unit = GetComponent<Unit>();
|
|
|
|
public abstract string GetActionName();
|
|
public abstract void TakeAction(GridPosition gridPosition, Action onActionComplete);
|
|
|
|
public virtual bool IsValidActionGridPosition(GridPosition gridPosition) => GetValidActionGridPositionList().Contains(gridPosition);
|
|
|
|
public abstract List<GridPosition> GetValidActionGridPositionList();
|
|
}
|
|
} |