You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.0 KiB

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class BlockInput : MonoBehaviour
  5. {
  6. public Character character;
  7. public BlockReader blockReader;
  8. public float waitTime;
  9. public void Update()
  10. {
  11. if (Input.GetKeyDown(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.Space))
  12. ReadNext();
  13. else if (Input.GetKeyDown(KeyCode.Space))
  14. ReadAll();
  15. }
  16. [ContextMenu("Read Next")]
  17. public void ReadNext()
  18. {
  19. float TotalAnimationTime;
  20. blockReader.Read(character, waitTime,out TotalAnimationTime);
  21. }
  22. public void ReadAll()
  23. {
  24. StartCoroutine(ReadRoutine(waitTime));
  25. }
  26. public void FinishedReading()
  27. {
  28. blockReader.Reset();
  29. blockReader.Clear();
  30. }
  31. public IEnumerator ReadRoutine(float waitTime)
  32. {
  33. while (!blockReader.Finished)
  34. {
  35. ReadNext();
  36. yield return new WaitForSeconds(waitTime);
  37. }
  38. FinishedReading();
  39. }
  40. }