/// <summary> /// Horrid masterpiece /// </summary> public static void AppendFrom(this SpriteData spriteData, SpriteData appendSpriteData) { foreach (var name in appendSpriteData.SpriteNames) { if (spriteData.SpriteNames.All(s => s.Key != name.Key)) { spriteData.SpriteNames.Add(name.Key, name.Value); } } foreach (var category in appendSpriteData.SpriteCategories) { NameProperty.SetValue(category.Value, category.Value.Name.Replace("append_", "")); if (spriteData.SpriteCategories.FirstOrDefault(s => s.Value.Name == category.Value.Name) is var kvp && kvp.Value != null) { var sheetCount = kvp.Value.SpriteSheetCount; kvp.Value.SheetSizes = kvp.Value.SheetSizes.Concat(category.Value.SheetSizes).ToArray(); kvp.Value.SpriteParts.AddRange(category.Value.SpriteParts.Select(p => { p.SheetID += sheetCount; return(p); })); kvp.Value.SpriteSheets.AddRange(category.Value.SpriteSheets); }
public CharacterItemContext(string name, int index, CharacterContext context) { _characterContext = context; NameProperty.SetValue(name); IndexProperty.SetValue(index); }
public MapItemContext(string name, int index, MapContext context) { _mapContext = context; NameProperty.SetValue(name); IndexProperty.SetValue(index); }