using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BlockInput : MonoBehaviour
{

    public Character character;
    public BlockReader blockReader;
    public float waitTime;

    public void Update()
    {
        if (Input.GetKeyDown(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.Space))
            ReadNext();
        else if (Input.GetKeyDown(KeyCode.Space))
            ReadAll();
    }

    [ContextMenu("Read Next")]
    public void ReadNext()
    {
        blockReader.Read(character, waitTime);
    }

    public void ReadAll()
    {
        StartCoroutine(ReadRoutine(waitTime));
    }

    public void FinishedReading()
    {
        blockReader.Reset();
        blockReader.Clear();
    }

    public IEnumerator ReadRoutine(float waitTime)
    {
        while (!blockReader.Finished)
        {     
            ReadNext();
            yield return new WaitForSeconds(waitTime);
        }
        FinishedReading();
    }

}
