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); }
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); }