using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Flowframes.Data { public struct ResumeState { public bool autoEncode; public int interpolatedInputFrames; public ResumeState (bool autoEncArg, int lastInterpInFrameArg) { autoEncode = autoEncArg; interpolatedInputFrames = lastInterpInFrameArg; } public ResumeState(string serializedData) { autoEncode = false; interpolatedInputFrames = 0; Dictionary entries = new Dictionary(); foreach (string line in serializedData.SplitIntoLines()) { if (line.Length < 3) continue; string[] keyValuePair = line.Split('|'); entries.Add(keyValuePair[0], keyValuePair[1]); } foreach (KeyValuePair entry in entries) { switch (entry.Key) { case "AUTOENC": autoEncode = bool.Parse(entry.Value); break; case "INTERPOLATEDINPUTFRAMES": interpolatedInputFrames = entry.Value.GetInt(); break; } } } public override string ToString () { string s = $"AUTOENC|{autoEncode}\n"; if (!autoEncode) { s += $"INTERPOLATEDINPUTFRAMES|{interpolatedInputFrames}"; } return s; } } }