using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; public class CrushingBoulder : ActiveBlock { public int countdowntimer; public TextMeshPro counter; int countdown; public override int GetInitative() { return 3; } private void Start() { countdown = countdowntimer; } private void Update() { counter.text = countdown.ToString(); } public override IEnumerator OnEnvironmentTurn(PlayerData[] allPlayers) { countdown--; if (countdown == 0) { StartCoroutine(FallRaiseCoroutine(-2.0f)); yield return new WaitForSeconds(1.5f); StartCoroutine(FallRaiseCoroutine(2.0f)); countdown = countdowntimer; } isFinished = true; } IEnumerator FallRaiseCoroutine(float dropDistance) { float elapsedTime = 0; Vector3 startPosition = transform.position; Vector3 endPosition = new Vector3(transform.position.x, transform.position.y + dropDistance, transform.position.z); float time = 0.8f; while (elapsedTime < time) { transform.position = Vector3.Lerp(startPosition, endPosition, (elapsedTime / time)); yield return new WaitForEndOfFrame(); elapsedTime += Time.deltaTime; } transform.position = endPosition; } }