Пример #1
0
        public static Animation LoadAnimation(string filename, ResourceManager resourceManager, List <Incidence> incidences)
        {
            if (resourceManager.getAnimationsCache().ContainsKey(filename))
            {
                return(resourceManager.getAnimationsCache()[filename]);
            }

            var animationHandler = new AnimationHandler(resourceManager, incidences);
            var anim             = animationHandler.Parse(filename);

            if (anim != null)
            {
                resourceManager.getAnimationsCache()[filename] = anim;
            }

            return(anim);
        }
Пример #2
0
        public static IAsyncOperation <Animation> LoadAnimationAsync(string filename, ResourceManager resourceManager, List <Incidence> incidences)
        {
            var result = new AsyncCompletionSource <Animation>();

            if (resourceManager.getAnimationsCache().ContainsKey(filename))
            {
                result.SetResult(resourceManager.getAnimationsCache()[filename]);
            }

            var animationHandler = new AnimationHandler(resourceManager, incidences);

            animationHandler.ParseAsync(filename)
            .Then(anim =>
            {
                result.SetResult(anim);
                if (anim != null)
                {
                    resourceManager.getAnimationsCache()[filename] = anim;
                }
            });

            return(result);
        }