//Add a single promise to the PromiseLoader public void AddLoaderPromise(IBasePromise promise, float weight = 1f, bool mustResolve = true) { if (_loadWeights == null) { _loadWeights = new List <float>(); } if (_loadWeightsFinished == null) { _loadWeightsFinished = new List <float>(); } InternalAddLoaderPromise(promise, weight, mustResolve); }
private void InternalAddLoaderPromise(IBasePromise promise, float weight = 1f, bool mustResolve = true) { weight = Mathf.Max(0.0001f, weight); _loadCount++; int weightIndex = _loadWeights.Count; _loadWeights.Add(weight); _loadWeightsFinished.Add(0f); _loadPercDirty = true; if (mustResolve) { _loadMustResolveCount++; } promise.BaseThen( () => { OnPromiseSuccess(_loadId, weightIndex, mustResolve); }, exception => { OnPromiseFailed(_loadId, exception, weightIndex, mustResolve); }, progress => { OnPromiseProgress(_loadId, weightIndex, progress); } ); }