- 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(0.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;
- }
- }
|