using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public abstract class ActiveBlock : Block
{
#region Read-Only Variables
public bool isFinished { get; protected set; }
#endregion Read-Only Variables
#region Class Functions
///
/// Is called after all players have taken one move
///
/// Should be implemented by a derived class
///
public virtual IEnumerator OnEnvironmentTurn(PlayerData[] allPlayers)
{
isFinished = true;
yield break;
}
///
/// Called after all players have finished all their moves
///
/// Should be implemented by a derived class
///
public virtual IEnumerator OnRoundEnd(PlayerData[] allPlayers)
{
isFinished = true;
yield break;
}
public void Reset()
{
isFinished = false;
}
///
/// Returns what order this block should be called in for the environment turn;
///
/// The Higher the number returned the earlier it goes
/// This was made abstract because it shouldn't be accidentally changed + so we don;t accidentally forget to implement it
public abstract int GetInitative();
#endregion Class Functions
}