public void Next()
        {
            if (_current.futuresCount == 0)
            {
                return;
            }

            var newFuture = new CompositeFuture();

            _compositeFutures.Add(newFuture);
            newFuture.AddListener(CompleteFuture);
            _current = newFuture;
        }
 private void Complete()
 {
     _current = null;
     onComplete?.Invoke();
     onComplete = null;
 }
 public CascadeLoading()
 {
     _compositeFutures.Add(new CompositeFuture());
     _current = _compositeFutures[0];
     _current.AddListener(CompleteFuture);
 }