Example #1
0
    private IEnumerator Start()
    {
        PlotQueue = new Queue <MonoBehaviour>(PlotList);
        PlayerInput.Instance.ReleaseControl(true);
        PlayerInput.Instance.Interact.GainControl();
        yield return(new WaitForSeconds(2f));

        IPlot plot = null;

        if (PlotQueue.Count > 0)
        {
            plot = PlotQueue.Dequeue() as IPlot;
        }
        while (plot != null)
        {
            yield return(StartCoroutine(plot.DoPlot()));

            if (PlotQueue.Count > 0)
            {
                plot = PlotQueue.Dequeue() as IPlot;
            }
            else
            {
                plot = null;
                break;
            }
        }
        PlayerInput.Instance.GainControl();
        yield break;
    }