/// <summary> /// Looks up the composite image for the given trigger name /// </summary> /// <param name="triggerName">The image layout trigger name</param> /// <returns>The composite image</returns> public CompositeImage CompositeImageForTrigger(string triggerName) { // See if the description is already loaded if (compositeImageCache.TryGetValue(triggerName, out var wref)) { var ret = (CompositeImage)wref.Target; if (null != ret) { return(ret); } } // look up name for the file var layoutPath = ImageLayoutFullPathForTrigger(triggerName); if (null == layoutPath) { return(null); } // Get the full path for the map var mapPath = ImageMapFullPathForTrigger(triggerName); // Create the object var image = new CompositeImage(layoutPath, mapPath); // Add an item to the cache compositeImageCache[triggerName] = new WeakReference(image); // return it return(image); }
/// <summary> /// Analyzes the composite image structure /// </summary> /// <param name="errs">The errors found within the animation clip</param> /// <param name="errKey">The label to help identify which animation clip this /// error is referring to</param> /// <param name="compositeImage">The composite image to check</param> public void Analyze(StringBuilder errs, string errKey, CompositeImage compositeImage) { foreach (var layout in compositeImage.layouts) { Analyze(errs, $"{errKey}:{layout.layerName}", layout); } }