/// <summary> /// 上書き設定の生成 /// </summary> /// <param name="settings"></param> /// <returns></returns> private static OverrideSettings CreateOverrideSettings(NodeReader settings) { OverrideSettings overrideSettings = new OverrideSettings(); { var fps = settings.ChildOrNull("fps"); var frameCount = settings.ChildOrNull("frameCount"); var sortMode = settings.ChildOrNull("sortMode"); var pivot = settings.ChildOrNull("pivot"); overrideSettings.fps = fps != null ? (int?)fps.AtInteger() : null; overrideSettings.frameCount = frameCount != null ? (int?)frameCount.AtInteger() : null; overrideSettings.sortMode = sortMode != null ? (SortMode?)SortModeOpeartor.FromString(sortMode.AtText()) : null; if (pivot != null) { float[] pivots = pivot.AtFloats(' '); overrideSettings.pivotX = pivots[0]; overrideSettings.pivotY = pivots[1]; } else { overrideSettings.pivotX = null; overrideSettings.pivotY = null; } } return(overrideSettings); }
/// <summary> /// インポート /// </summary> /// <param name="fileName"></param> public Information Import(string fileName) { var xml = new XmlDocument(); xml.Load(fileName); // 各種データを取得 var animeSettings = NodeReader.findFirst(xml, "SpriteStudioProject/animeSettings"); int fps = animeSettings.AtInteger("fps"); int frameCount = animeSettings.AtInteger("frameCount"); string sortMode = animeSettings.AtText("sortMode"); float[] pivot = animeSettings.AtFloats("pivot", ' '); var cellMaps = NodeReader.findFirst(xml, "SpriteStudioProject/cellmapNames"); var cellMapNames = cellMaps.Children("value").AtText(); var animePacks = NodeReader.findFirst(xml, "SpriteStudioProject/animepackNames"); var animePackNames = animePacks.Children("value").AtText(); return(new Information() { fps = fps, frameCount = frameCount, sortMode = SortModeOpeartor.FromString(sortMode), pivotX = pivot[0], pivotY = pivot[1], cellMaps = cellMapNames, animePacks = animePackNames, }); }