Exemplo n.º 1
0
        //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);
        }
Exemplo n.º 2
0
        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); }
                );
        }