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 }