Esempio n. 1
0
    private IEnumerator SequenceCoroutine(LoadingSequence loadingSequence)
    {
        StartCoroutine(LoadingBarCoroutine());

        foreach (var sequenceElement in loadingSequence.Sequence)
        {
            _timeLastTipShown = Time.timeSinceLevelLoad;
            _loadBarQueue.Enqueue(sequenceElement.LoadBar);
            yield return(DisplayTipCoroutine(sequenceElement.Tip));
        }

        if (loadingSequence.LevelToLoad == null)
        {
            yield break;
        }

        var level = Instantiate(loadingSequence.LevelToLoad);
        var door  = level.GetComponentInChildren <DoorScript>();

        door.OnDoorOpen += (sequence) =>
        {
            Destroy(level);
            StartSequence(sequence);
        };
    }
Esempio n. 2
0
 public void StartSequence(LoadingSequence loadingSequence)
 {
     Debug.Log($"Starting sequence: {loadingSequence.SequenceName}");
     StartCoroutine(SequenceCoroutine(loadingSequence));
 }