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
|
|
|
|
/// <summary>
|
|
/// Is called after all players have taken one move
|
|
///
|
|
/// Should be implemented by a derived class
|
|
/// </summary>
|
|
public virtual IEnumerator OnEnvironmentTurn(PlayerData[] allPlayers)
|
|
{
|
|
isFinished = true;
|
|
yield break;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Called after all players have finished all their moves
|
|
///
|
|
/// Should be implemented by a derived class
|
|
/// </summary>
|
|
public virtual IEnumerator OnRoundEnd(PlayerData[] allPlayers)
|
|
{
|
|
isFinished = true;
|
|
yield break;
|
|
}
|
|
|
|
public void Reset()
|
|
{
|
|
isFinished = false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns what order this block should be called in for the environment turn;
|
|
/// </summary>
|
|
/// <returns>The Higher the number returned the earlier it goes</returns>
|
|
/// <remarks>This was made abstract because it shouldn't be accidentally changed + so we don;t accidentally forget to implement it</remarks>
|
|
public abstract int GetInitative();
|
|
|
|
#endregion Class Functions
|
|
|
|
|
|
}
|