diff --git a/Assets/Scripts/CheckServer.cs b/Assets/Scripts/CheckServer.cs index 376db259c6599116566caea9f7199ca6777ee7db..89524b97825de9ab32d5726ccc7ba6864acc21d6 100644 --- a/Assets/Scripts/CheckServer.cs +++ b/Assets/Scripts/CheckServer.cs @@ -149,7 +149,7 @@ void PrepareGame() IEnumerator ServerRoutine(String NetwAddress, int NA_id, double ics) { - UnityWebRequest request = UnityWebRequest.Get("http://" + NetwAddress + "/scroll/list"); + using UnityWebRequest request = UnityWebRequest.Get("http://" + NetwAddress + "/scroll/list"); yield return request.SendWebRequest(); if (request.result == UnityWebRequest.Result.ConnectionError @@ -160,10 +160,10 @@ IEnumerator ServerRoutine(String NetwAddress, int NA_id, double ics) while (true) { - request = UnityWebRequest.Get("http://" + NetwAddress + "/scroll/list"); - yield return request.SendWebRequest(); - if (request.result == UnityWebRequest.Result.ConnectionError - || request.result == UnityWebRequest.Result.ProtocolError) + using UnityWebRequest request2 = UnityWebRequest.Get("http://" + NetwAddress + "/scroll/list"); + yield return request2.SendWebRequest(); + if (request2.result == UnityWebRequest.Result.ConnectionError + || request2.result == UnityWebRequest.Result.ProtocolError) { // UnityEngine.Debug.Log("no running server"); } diff --git a/Assets/Scripts/GenerateDemoFiles.cs b/Assets/Scripts/GenerateDemoFiles.cs index 3f85b12101ea057a73660983773650b4a26df594..51fed2d1a788fee3c723b80dd029f55ab77ad075 100644 --- a/Assets/Scripts/GenerateDemoFiles.cs +++ b/Assets/Scripts/GenerateDemoFiles.cs @@ -7,6 +7,7 @@ public class GenerateDemoFiles { public static void GenerateAll() { + Debug.LogWarning("Generating and Overwriting Stage Files"); GenerateDemoA(); GenerateDemoB(); } diff --git a/Assets/Scripts/InteractionEngine/FactHandling/Fact.cs b/Assets/Scripts/InteractionEngine/FactHandling/Fact.cs index ac4adb8d07ef63b9e53018e49adeba90a1c3309a..754e17ef9d22c3cb22fabdc05d0cdfba7af7dcbe 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/Fact.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/Fact.cs @@ -6,7 +6,7 @@ using Newtonsoft.Json; using static JSONManager; using static CommunicationEvents; - +using JsonSubTypes; public class ParsingDictionary { //TODO? get rid of this, use reflection? instead, if possible @@ -50,7 +50,7 @@ public static bool sendAdd(string path, string body, out string uri) Debug.Log("Sending to Server:\n" + body); //Put constructor parses stringbody to byteArray internally (goofy workaround) - UnityWebRequest www = UnityWebRequest.Put(path, body); + using UnityWebRequest www = UnityWebRequest.Put(path, body); www.method = UnityWebRequest.kHttpVerbPOST; www.SetRequestHeader("Content-Type", "application/json"); www.timeout = 1; @@ -83,6 +83,12 @@ public static bool sendAdd(string path, string body, out string uri) /// <summary> /// %Fact representation of Unity; mostly mirrors Facts of MMT. /// </summary> +[JsonConverter(typeof(JsonSubtypes), "s_type")] +[JsonSubtypes.KnownSubType(typeof(PointFact), "PointFact")] +[JsonSubtypes.KnownSubType(typeof(LineFact), "LineFact")] +[JsonSubtypes.KnownSubType(typeof(RayFact), "RayFact")] +[JsonSubtypes.KnownSubType(typeof(OnLineFact), "OnLineFact")] +[JsonSubtypes.KnownSubType(typeof(AngleFact), "AngleFact")] public abstract class Fact { /// <summary> @@ -92,6 +98,11 @@ public abstract class Fact [JsonIgnore] public GameObject Representation; + /// <value> + /// [ClassName] for JSON de-/serialization + /// </value> + public new string s_type; + /// <value> /// Unique Id. e.g.: MMT URI /// </value> @@ -470,6 +481,9 @@ protected override bool EquivalentWrapped(AbstractLineFact f1, AbstractLineFact /// </summary> public class PointFact : FactWrappedCRTP<PointFact> { + /// \copydoc Fact.s_type + public new string s_type = "PointFact"; + /// <summary> Position </summary> public Vector3 Point; /// <summary> Orientation for <see cref="Fact.Representation"/> </summary> @@ -600,6 +614,9 @@ protected override bool EquivalentWrapped(PointFact f1, PointFact f2) /// </summary> public class LineFact : AbstractLineFactWrappedCRTP<LineFact> { + /// \copydoc Fact.s_type + public new string s_type = "LineFact"; + /// <summary> Distance between <see cref="AbstractLineFact.Pid1"/> and <see cref="AbstractLineFact.Pid2"/></summary> public float Distance; @@ -722,6 +739,9 @@ private void SetDistance() /// </summary> public class RayFact : AbstractLineFactWrappedCRTP<RayFact> { + /// \copydoc Fact.s_type + public new string s_type = "RayFact"; + /// <summary> \copydoc Fact.Fact </summary> public RayFact() : base() { } @@ -822,6 +842,9 @@ protected override bool EquivalentWrapped(RayFact f1, RayFact f2) /// </summary> public class OnLineFact : FactWrappedCRTP<OnLineFact> { + /// \copydoc Fact.s_type + public new string s_type = "OnLineFact"; + public string /// <summary> <see cref="PointFact"/>.<see cref="Fact.Id">Id</see> </summary> Pid, @@ -976,6 +999,9 @@ protected override bool EquivalentWrapped(OnLineFact f1, OnLineFact f2) /// </summary> public class AngleFact : FactWrappedCRTP<AngleFact> { + /// \copydoc Fact.s_type + public new string s_type = "AngleFact"; + /// @{ <summary> /// One <see cref="Fact.Id">Id</see> of three <see cref="PointFact">PointFacts</see> defining Angle [<see cref="Pid1"/>, <see cref="Pid2"/>, <see cref="Pid3"/>]. /// </summary> diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactOrganizer.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactOrganizer.cs index e1068f5512a989f33c5e7fd3dff1e3aceb427ef3..1f23ea11439d4969b75b01029afc3e9956c29dd3 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/FactOrganizer.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/FactOrganizer.cs @@ -24,22 +24,26 @@ public class FactOrganizer /// - <c>Key</c>: <see cref="Fact.Id"/> /// - <c>Value</c>: <see cref="Fact"/> /// </summary> + [JsonProperty] protected internal Dictionary<string, Fact> FactDict; /// <summary> /// - <c>Key</c>: <see cref="Fact.Id"/> /// - <c>Value</c>: <see cref="meta"/> /// </summary> + [JsonProperty] protected internal Dictionary<string, meta> MetaInf = new Dictionary<string, meta>(); /// <summary> /// Keeps track of insertion/ deletion/ etc. operations for <see cref="undo"/> and <see cref="redo"/> /// </summary> + [JsonProperty] protected internal List<stepnote> Workflow = new List<stepnote>(); /// <summary> /// Notes position in <see cref="Workflow"/> for <see cref="undo"/> and <see cref="redo"/>; the pointed to element is non-acitve /// </summary> + [JsonProperty] protected internal int marker = 0; /// <summary> @@ -48,6 +52,7 @@ public class FactOrganizer /// One step can consist of multiple operations. /// <seealso cref="stepnote"/> /// </summary> + [JsonProperty] protected internal int worksteps = 0; /// <summary> /// Backlock logic redundant - for convinience. @@ -55,33 +60,38 @@ public class FactOrganizer /// One step can consist of multiple operations. /// <seealso cref="stepnote"/> /// </summary> + [JsonProperty] protected internal int backlog = 0; /// <summary> /// Set to <c>true</c> if recently been resetted. /// </summary> + [JsonProperty] protected internal bool soft_resetted = false; /// <summary> /// If set to <c>true</c>, <see cref="Remove(string, bool)"/> and <see cref="Add(Fact, out bool, bool)"/> will invoke <see cref="CommunicationEvents.RemoveFactEvent"/> and <see cref="CommunicationEvents.AddFactEvent"/> respectively. /// </summary> + [JsonProperty] public bool invoke; // TODO? SE: better seperation /// <summary> /// Keeps track of maximum <see cref="Fact.LabelId"/> for <see cref="Fact.generateLabel"/>. /// </summary> + [JsonProperty] protected internal int MaxLabelId = 0; /// <summary> /// Stores unused <see cref="Fact.LabelId"/> for <see cref="Fact.generateLabel"/>, wich were freed in <see cref="Fact.freeAutoLabel"/> for later reuse to keep naming space compact. /// </summary> + [JsonProperty] protected internal SortedSet<int> UnusedLabelIds = new SortedSet<int>(); // TODO: put this stuff in Interface /// @{ <summary> /// For <see cref="store(string, List<Directories>, bool, bool)"/> and <see cref="load(ref FactOrganizer, bool, string, List<Directories>, bool, out Dictionary<string, string>)"/> /// </summary> - private string path = null; + protected internal string path = null; private static List<Directories> hierState = new List<Directories> { Directories.FactStateMachines }; /// @} @@ -174,6 +184,15 @@ public meta(int workflow_id, bool active = true) } } + /// <summary> + /// Only used by <see cref="JsonConverter"/> to initiate empty instance. + /// </summary> + public FactOrganizer() + { + FactDict = new Dictionary<string, Fact>(); + this.invoke = false; + } + /// <summary> /// Standard Constructor for empty, ready to use <see cref="FactOrganizer"/> /// </summary> @@ -185,89 +204,61 @@ public FactOrganizer(bool invoke = false) } /// <summary> - /// Used to parse <see cref="JsonReader"/>/ <see cref="JsonWriter"/> readable and creatable <see cref="PublicFactOrganizer">format</see> of this <see cref="FactOrganizer">class</see> to an actual instance of this <see cref="FactOrganizer">class</see>. - /// <remarks>TODO: repair and use <see cref="JSONManager.JsonInheritenceConverter<T>"/> o.s. to bypass all of this _hardwired_ implementation, including the entirety of <see cref="PublicFactOrganizer"/></remarks> + /// Used to parse read-in <see cref="FactOrganizer"/> by <see cref="JsonReader"/> and make <see cref="Fact.Id"/> conform. /// </summary> - /// <param name="set">to be parsed into, will be overwritten. - /// If <c><paramref name="invoke"/> = true</c>, <paramref name="set"/> should be <see cref="StageStatic.stage.factState"/>, outherwise <see cref="InvokeFactEvent(bool, string)"/> will cause <see cref="Exception">Exceptions</see> when it invokes Events of <see cref="CommunicationEvents"/></param> - /// <param name="exposed">instance to be parsed</param> + /// <param name="target">to be parsed into, will be overwritten. + /// If <c><paramref name="invoke"/> = true</c>, <paramref name="target"/> should be <see cref="StageStatic.stage.factState"/>, outherwise <see cref="InvokeFactEvent(bool, string)"/> will cause <see cref="Exception">Exceptions</see> when it invokes Events of <see cref="CommunicationEvents"/></param> + /// <param name="source">instance to be parsed</param> /// <param name="invoke">see <see cref="invoke"/></param> - /// <param name="old_to_new">generated to map <c>Key</c> <see cref="Fact.Id"/> of <paramref name="exposed"/> to corresponding <c>Value</c> <see cref="Fact.Id"/> of <paramref name="set"/></param>. - private static void FactOrganizerFromPublic(ref FactOrganizer set, PublicFactOrganizer exposed, bool invoke, out Dictionary<string, string> old_to_new) + /// <param name="old_to_new">generated to map <c>Key</c> <see cref="Fact.Id"/> of <paramref name="source"/> to corresponding <c>Value</c> <see cref="Fact.Id"/> of <paramref name="target"/></param>. + protected static void ReInitializeFactOrganizer(ref FactOrganizer target, FactOrganizer source, bool invoke, out Dictionary<string, string> old_to_new) { // TODO: other strategy needed when MMT save/load supported // map old URIs to new ones old_to_new = new Dictionary<string, string>(); - // combine T:Fact to Fact - Dictionary<string, Fact> old_FactDict = new Dictionary<string, Fact>(); - - /* - FieldInfo[] finfos = typeof(PublicFactOrganizer).GetFields(); - foreach(string type in PublicFactOrganizer.WatchedFacts) - AddListToDict( - finfos.First(x => x.Name.Remove(x.Name.Length-1) == type) - .GetValue(exposed) - as List<Fact>); - */ - - AddListToDict(exposed.PointFacts); - AddListToDict(exposed.LineFacts); - AddListToDict(exposed.RayFacts); - AddListToDict(exposed.AngleFacts); - AddListToDict(exposed.OnLineFacts); - - + // initiate - set.invoke = invoke; - set.MaxLabelId = exposed.MaxLabelId; - set.UnusedLabelIds = exposed.UnusedLabelIds; - set.FactDict = new Dictionary<string, Fact>(); + target.invoke = invoke; + target.MaxLabelId = source.MaxLabelId; + target.UnusedLabelIds = source.UnusedLabelIds; + target.FactDict = new Dictionary<string, Fact>(); // work Workflow - foreach (var sn in exposed.Workflow) + foreach (var sn in source.Workflow) { if (sn.creation) // Add { Fact add; if (old_to_new.ContainsKey(sn.Id)) - add = set.FactDict[old_to_new[sn.Id]]; + add = target.FactDict[old_to_new[sn.Id]]; else { - Fact old_Fact = old_FactDict[sn.Id]; + Fact old_Fact = source.FactDict[sn.Id]; add = old_Fact.GetType() .GetConstructor(new Type[] { old_Fact.GetType(), old_to_new.GetType(), typeof(FactOrganizer) }) - .Invoke(new object[] { old_Fact, old_to_new, set }) + .Invoke(new object[] { old_Fact, old_to_new, target }) as Fact; old_to_new.Add(sn.Id, add.Id); } - set.Add(add, out _, sn.samestep); + target.Add(add, out _, sn.samestep); } else if (old_to_new.ContainsKey(sn.Id)) // Remove { - Fact remove = set.FactDict[old_to_new[sn.Id]]; - set.Remove(remove, sn.samestep); + Fact remove = target.FactDict[old_to_new[sn.Id]]; + target.Remove(remove, sn.samestep); } } // set un-redo state - while (set.backlog < exposed.backlog) - set.undo(); - - set.soft_resetted = exposed.soft_resetted; - + while (target.backlog < source.backlog) + target.undo(); - // === local functions === - - void AddListToDict<T>(List<T> list) where T : Fact - { - foreach (T ft in list) - old_FactDict.Add(ft.Id, ft); - } + target.soft_resetted = source.soft_resetted; } /// <summary> @@ -688,10 +679,8 @@ public void store(string name, List<Directories> hierarchie = null, bool use_ins hierarchie.RemoveRange(hierarchie.Count - hierState.Count, hierState.Count); - // note: max depth for "this" is 2, since Fact has non-serilazible member, that is not yet ignored (see Fact.[JasonIgnore] and JSONManager.WriteToJsonFile) - // using public dummy class to circumvent deserialiation JsonInheritanceProblem (see todos @PublicFactOrganizer) if (!exists || overwrite) - JSONManager.WriteToJsonFile(path, new PublicFactOrganizer(this), 0); + JSONManager.WriteToJsonFile(path, this); path = path_o; } @@ -707,8 +696,8 @@ public static bool load(ref FactOrganizer set, bool draw, string name, List<Dire if (!loadable) return false; - PublicFactOrganizer de_json = JSONManager.ReadFromJsonFile<PublicFactOrganizer>(path); - FactOrganizerFromPublic(ref set, de_json, draw, out old_to_new); + FactOrganizer de_json = JSONManager.ReadFromJsonFile<FactOrganizer>(path); + ReInitializeFactOrganizer(ref set, de_json, draw, out old_to_new); set.path = path; return true; @@ -868,150 +857,4 @@ public bool DynamiclySolved( return MissingElementsCount == 0; } -} - - -// TODO? PERF? SE? JsonInheritanceProblem: scrap this hardwired class and implement dynamic approach with JsonConverter (see: JSONManager.JsonInheritenceConverter) -/// <summary> -/// <see cref="JsonReader"/>/ <see cref="JsonWriter"/> readable and creatable format. -/// TODO? PERF? SE? JsonInheritanceProblem: scrap this hardwired class and implement dynamic approach with JsonConverter (see <see cref="JSONManager.JsonInheritenceConverter<T>"/>) -/// </summary> -public class PublicFactOrganizer : FactOrganizer -// public class exposing all protected members of FactOrganizer for JSON conversion -{ - // TODO? check once if those are all with reflection - protected internal static List<string> WatchedFacts = new List<string>(new string[] { - "PointFact", - "LineFact", - "RayFact", - "OnLineFact", - "AngleFact" - }); - - public List<PointFact> PointFacts = new List<PointFact>(); - public List<LineFact> LineFacts = new List<LineFact>(); - public List<RayFact> RayFacts = new List<RayFact>(); - public List<OnLineFact> OnLineFacts = new List<OnLineFact>(); - public List<AngleFact> AngleFacts = new List<AngleFact>(); - - public new Dictionary<string, meta> MetaInf = new Dictionary<string, meta>(); - public new List<stepnote> Workflow = new List<stepnote>(); - // notes position in Workflow for un-/redo; the pointed to element is non-acitve - public new int marker = 0; - // backlock logic for convinience - public new int worksteps = 0; - public new int backlog = 0; - // set if recently been resetted - public new bool soft_resetted = false; - // InvokeEvents? - public new bool invoke; - // TODO? SE: better seperation - // Label Managment; Communicates with Facts - public new int MaxLabelId = 0; - public new SortedSet<int> UnusedLabelIds = new SortedSet<int>(); - - public new struct stepnote - { - // Fact.Id - public string Id; - // true if this Fact has been created in the same step as the last one - // steproot[false] (=> steptail[true])* - public bool samestep; - // reference to steproot/ after steptail-end - public int steplink; - // distincts creation and deletion - public bool creation; - - public stepnote(string Id, bool samestep, int steplink, bool creation) - { - this.Id = Id; - this.samestep = samestep; - this.steplink = steplink; - this.creation = creation; - } - - /*public stepnote(string Id, bool samestep, bool creation, PublicFactOrganizer that) - { - this.Id = Id; - this.samestep = samestep; - this.creation = creation; - - if (samestep) - // steplink = !first_steptail ? previous.steplink : steproot - { - stepnote prev = that.Workflow[that.marker - 1]; - this.steplink = prev.samestep ? prev.steplink : that.marker - 1; - } - else - // steproot sets steplink after itself (end of steptail) - this.steplink = that.marker + 1; - - }*/ - } - - public new struct meta - { - // TODO? -> public int last_occurence for safe_dependencies - - // reference to first occurrence in Workflow - public int workflow_id; - // keeps track wether Fact is currently in Scene - public bool active; - - public meta(int workflow_id, bool active) - { - this.workflow_id = workflow_id; - this.active = active; - } - } - - public PublicFactOrganizer() - { - FactDict = new Dictionary<string, Fact>(); - this.invoke = false; - } - - protected internal PublicFactOrganizer(FactOrganizer expose) - { - // expose all non-abstract members - marker = expose.marker; - worksteps = expose.worksteps; - backlog = expose.backlog; - soft_resetted = expose.soft_resetted; - invoke = expose.invoke; - MaxLabelId = expose.MaxLabelId; - UnusedLabelIds = expose.UnusedLabelIds; - - foreach (var sn in expose.Workflow) - Workflow.Add(new stepnote(sn.Id, sn.samestep, sn.steplink, sn.creation)); - - foreach (var mt in expose.MetaInf) - MetaInf.Add(mt.Key, new meta(mt.Value.workflow_id, mt.Value.active)); - - // expose and deserialize all abstract members - foreach (var fc in expose.FactDict.Values) - // keys are Fact.Id - { - switch (fc.GetType().Name) - { - case "PointFact": - PointFacts.Add(fc as PointFact); - break; - case "LineFact": - LineFacts.Add(fc as LineFact); - break; - case "RayFact": - RayFacts.Add(fc as RayFact); - break; - case "OnLineFact": - OnLineFacts.Add(fc as OnLineFact); - break; - case "AngleFact": - AngleFacts.Add(fc as AngleFact); - break; - default: - throw new System.NotImplementedException(); - } - } - } } \ No newline at end of file diff --git a/Assets/Scripts/InteractionEngine/FactHandling/SolutionOrganizer.cs b/Assets/Scripts/InteractionEngine/FactHandling/SolutionOrganizer.cs index 3632c9f89de1e6acedd303452d03a9045629545b..1aa4f8bf94243fd91884e77590ac41154959cc57 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/SolutionOrganizer.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/SolutionOrganizer.cs @@ -20,11 +20,6 @@ private const string endingVal = "_val"; /// @} - /// <summary> - /// \copydoc FactOrganizer.path - /// Additional value for <see cref="ValidationSet"/> - /// </summary> - private string path_Val = null; /// <summary> /// \copydoc FactOrganizer.hierState /// Additional value for <see cref="ValidationSet"/> @@ -130,6 +125,12 @@ public bool IsEmpty() } } + /// \copydoc FactOrganizer.FactOrganizer() + public SolutionOrganizer(): base() + { + ValidationSet = new List<SubSolution>(); + } + /// \copydoc FactOrganizer.FactOrganizer(bool) public SolutionOrganizer(bool invoke = false): base(invoke) { @@ -151,20 +152,18 @@ public List<Fact> getMasterFactsByIndex (int i) hierarchie ??= new List<Directories>(); hierarchie.AddRange(hierVal.AsEnumerable()); - base.store(name + endingSol, hierarchie, use_install_folder, overwrite); - - string path_o = path_Val; - path_Val = CreatePathToFile(out bool exists, name + endingVal, "JSON", hierarchie, use_install_folder); + string path_o = path; + path = CreatePathToFile(out bool exists, name + endingVal, "JSON", hierarchie, use_install_folder); hierarchie.RemoveRange(hierarchie.Count - hierVal.Count, hierVal.Count); if (exists && !overwrite) { - path_Val = path_o; + path = path_o; return; } - JSONManager.WriteToJsonFile(path_Val, this.ValidationSet, 0); - path_Val = path_o; + JSONManager.WriteToJsonFile(path, this); + path = path_o; } public static bool load(ref SolutionOrganizer set, bool draw, string name, List<Directories> hierarchie = null, bool use_install_folder = false) @@ -173,33 +172,23 @@ public static bool load(ref SolutionOrganizer set, bool draw, string name, List< hierarchie.AddRange(hierVal.AsEnumerable()); string path = CreatePathToFile(out bool loadable, name + endingVal, "JSON", hierarchie, use_install_folder); + + hierarchie.RemoveRange(hierarchie.Count - hierVal.Count, hierVal.Count); if (!loadable) - { - hierarchie.RemoveRange(hierarchie.Count - hierVal.Count, hierVal.Count); return false; - } FactOrganizer save = StageStatic.stage.factState; StageStatic.stage.factState = new SolutionOrganizer(false) as FactOrganizer; - loadable = FactOrganizer.load(ref StageStatic.stage.player_record.factState - , draw, name + endingSol, hierarchie, use_install_folder, out Dictionary<string, string> old_to_new); - - if (loadable) - { - set = (SolutionOrganizer)StageStatic.stage.factState; - set.path_Val = path; - } + SolutionOrganizer JsonTmp = JSONManager.ReadFromJsonFile <SolutionOrganizer> (path); + ReInitializeFactOrganizer(ref StageStatic.stage.player_record.factState, JsonTmp, draw, out Dictionary<string, string> old_to_new); + set = (SolutionOrganizer)StageStatic.stage.factState; + set.path = path; StageStatic.stage.factState = save; - hierarchie.RemoveRange(hierarchie.Count - hierVal.Count, hierVal.Count); - if (!loadable) - return false; - - var JsonTmp = JSONManager.ReadFromJsonFile <List<SubSolution>> (path); - foreach (var element in JsonTmp) + foreach (var element in JsonTmp.ValidationSet) // Parse and add { element.MasterIDs = new HashSet<string>(element.MasterIDs.Select(k => old_to_new[k])); @@ -212,8 +201,8 @@ public static bool load(ref SolutionOrganizer set, bool draw, string name, List< public new void delete() { base.delete(); - if (System.IO.File.Exists(path_Val)) - System.IO.File.Delete(path_Val); + if (System.IO.File.Exists(path)) + System.IO.File.Delete(path); } /// @} } diff --git a/Assets/Scripts/InventoryStuff/ScrollDetails.cs b/Assets/Scripts/InventoryStuff/ScrollDetails.cs index 08c7b7b8d8c8b26b87d949b2773d733ed6792498..355b6b1c20de5a3411b7df3e61a808d956b67075 100644 --- a/Assets/Scripts/InventoryStuff/ScrollDetails.cs +++ b/Assets/Scripts/InventoryStuff/ScrollDetails.cs @@ -114,7 +114,7 @@ IEnumerator sendView(string endpoint) { string body = prepareScrollAssignments(); - UnityWebRequest www = UnityWebRequest.Put(ServerAdress + endpoint, body); + using UnityWebRequest www = UnityWebRequest.Put(ServerAdress + endpoint, body); www.method = UnityWebRequest.kHttpVerbPOST; www.SetRequestHeader("Content-Type", "application/json"); var async = www.SendWebRequest(); diff --git a/Assets/Scripts/Loading/StreamingAssetLoader.cs b/Assets/Scripts/Loading/StreamingAssetLoader.cs index 1082cb960da77b2e33ac0afc542f2fd9dcc8fc80..db78c65a17060460fdea686b4cacf7aee5673593 100644 --- a/Assets/Scripts/Loading/StreamingAssetLoader.cs +++ b/Assets/Scripts/Loading/StreamingAssetLoader.cs @@ -254,7 +254,7 @@ public static void RereadFileUWR(string pathfolders, string fileName, int toMain string sourcePath = Path.Combine(Application.streamingAssetsPath, pathfolders); sourcePath = Path.Combine(sourcePath, fileName); - var loadingRequest = UnityWebRequest.Get(sourcePath); + using var loadingRequest = UnityWebRequest.Get(sourcePath); loadingRequest.SendWebRequest(); while (!loadingRequest.isDone) { @@ -385,7 +385,7 @@ public static void RereadFileUW4(string pathfolders, string fileName, string des string sourcePath = Path.Combine(Application.streamingAssetsPath, pathfolders); sourcePath = Path.Combine(sourcePath, fileName); - var loadingRequest = UnityWebRequest.Get(sourcePath); + using var loadingRequest = UnityWebRequest.Get(sourcePath); loadingRequest.SendWebRequest(); while (!loadingRequest.isDone) { diff --git a/Assets/Scripts/UI/NetwMenue/WaitingForLocalMMT.cs b/Assets/Scripts/UI/NetwMenue/WaitingForLocalMMT.cs index 6ce08fbc7c6b956f6ef4439df232803ba3590d03..9d54d8e1dd8801dadbe9a632cb00fc27d79c61b3 100644 --- a/Assets/Scripts/UI/NetwMenue/WaitingForLocalMMT.cs +++ b/Assets/Scripts/UI/NetwMenue/WaitingForLocalMMT.cs @@ -6,8 +6,8 @@ public class WaitingForLocalMMT : MonoBehaviour { - - + + private void Start() { @@ -17,9 +17,9 @@ private void Start() private void Update() { - - + + } private void OnEnable() @@ -36,7 +36,7 @@ void PrepareGame() { if (true) { - + CommunicationEvents.ServerRunning = true; UnityEngine.Debug.Log("set server runs"); } @@ -54,27 +54,27 @@ IEnumerator ServerRoutine() { while (true) { - - UnityWebRequest request = UnityWebRequest.Get(CommunicationEvents.ServerAddressLocal + "/scroll/list"); - yield return request.SendWebRequest(); - if (request.result == UnityWebRequest.Result.ConnectionError - || request.result == UnityWebRequest.Result.ProtocolError) - { - // UnityEngine.Debug.Log("no running server"); - } - else - { - //break; - PrepareGame(); - } + + using UnityWebRequest request = UnityWebRequest.Get(CommunicationEvents.ServerAddressLocal + "/scroll/list"); + yield return request.SendWebRequest(); + if (request.result == UnityWebRequest.Result.ConnectionError + || request.result == UnityWebRequest.Result.ProtocolError) + { + // UnityEngine.Debug.Log("no running server"); + } + else + { + //break; + PrepareGame(); + } + - - //Wait for 2 seconds - yield return new WaitForSecondsRealtime(2f); + //Wait for 2 seconds + yield return new WaitForSecondsRealtime(2f); print("waiting"); yield return null; diff --git a/Assets/Scripts/UI/NetwMenue/updateMouseCursor.cs b/Assets/Scripts/UI/NetwMenue/updateMouseCursor.cs index a7f9118dafc6a06c93ab7fcc4f834c46844a9b03..9a33a7579e83ad7802b7ed9087ecb01f87f49a0d 100644 --- a/Assets/Scripts/UI/NetwMenue/updateMouseCursor.cs +++ b/Assets/Scripts/UI/NetwMenue/updateMouseCursor.cs @@ -37,15 +37,14 @@ public class updateMouseCursor : MonoBehaviour void Start() { - + setMouse(); } private void Update() { - setMouse(); + } - public void setMouse() { diff --git a/Assets/Stages/TechDemo A.JSON b/Assets/Stages/TechDemo A.JSON index 4fcab40ec8aff17e6875fbe727ec39adf34d547a..56b662f2dab91c984d9742e55e8533967f666ae6 100644 --- a/Assets/Stages/TechDemo A.JSON +++ b/Assets/Stages/TechDemo A.JSON @@ -1 +1 @@ -{"category":"Demo Category","number":0,"name":"TechDemo A","description":"Tree Stage","scene":"RiverWorld","use_install_folder":true,"hierarchie":[],"player_record_list":{},"player_record":{}} \ No newline at end of file +{"category":"Demo Category","number":0,"name":"TechDemo A","description":"Tree Stage","scene":"RiverWorld","use_install_folder":true,"hierarchie":[],"player_record_list":{},"player_record":{"solved":false,"date":-8585439463646016511,"seconds":0.0,"name":"TechDemo A_save"}} \ No newline at end of file diff --git a/Assets/Stages/TechDemo B.JSON b/Assets/Stages/TechDemo B.JSON index 93dca637ef60dc021e2b09a39ded027157a7cf80..29f3be06184b1d926d9ed99370977e86776c64a3 100644 --- a/Assets/Stages/TechDemo B.JSON +++ b/Assets/Stages/TechDemo B.JSON @@ -1 +1 @@ -{"category":"Demo Category","number":0,"name":"TechDemo B","description":"River Stage","scene":"RiverWorld","use_install_folder":true,"hierarchie":[],"player_record_list":{},"player_record":{}} \ No newline at end of file +{"category":"Demo Category","number":0,"name":"TechDemo B","description":"River Stage","scene":"RiverWorld","use_install_folder":true,"hierarchie":[],"player_record_list":{},"player_record":{"solved":false,"date":-8585439463643952992,"seconds":0.0,"name":"TechDemo B_save"}} \ No newline at end of file diff --git a/Assets/Stages/ValidationSets/FactStateMachines.meta b/Assets/Stages/ValidationSets/FactStateMachines.meta deleted file mode 100644 index 68a821ae6e3583c321ba3eeca2f1db3497cbe36b..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/FactStateMachines.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a751eddeb4588f44f83b26062e18ef32 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/FactStateMachines/TechDemo A_sol.JSON b/Assets/Stages/ValidationSets/FactStateMachines/TechDemo A_sol.JSON deleted file mode 100644 index bb70def42423fc33cc6da907f24baf07390b79ec..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/FactStateMachines/TechDemo A_sol.JSON +++ /dev/null @@ -1 +0,0 @@ -{"PointFacts":[{"Point":{"x":0.0,"y":0.0,"z":0.0,"magnitude":0.0,"sqrMagnitude":0.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact146","Label":"A","hasCustomLabel":false,"LabelId":1},{"Point":{"x":0.0,"y":6.0,"z":0.0,"normalized":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"magnitude":6.0,"sqrMagnitude":36.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact147","Label":"B","hasCustomLabel":false,"LabelId":2}],"LineFacts":[{"Distance":6.0,"Pid1":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact146","Pid2":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact147","Dir":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact148","Label":"[AB]","hasCustomLabel":false,"LabelId":0}],"RayFacts":[],"OnLineFacts":[],"AngleFacts":[],"MetaInf":{"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact146":{"workflow_id":0,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact147":{"workflow_id":1,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact148":{"workflow_id":2,"active":true}},"Workflow":[{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact146","samestep":false,"steplink":3,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact147","samestep":true,"steplink":0,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact148","samestep":true,"steplink":0,"creation":true}],"marker":3,"worksteps":1,"backlog":0,"soft_resetted":false,"invoke":false,"MaxLabelId":2,"UnusedLabelIds":[]} \ No newline at end of file diff --git a/Assets/Stages/ValidationSets/FactStateMachines/TechDemo A_sol.JSON.meta b/Assets/Stages/ValidationSets/FactStateMachines/TechDemo A_sol.JSON.meta deleted file mode 100644 index 33a84c6201ed5542f3b37d8952a2f72aa183e3ab..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/FactStateMachines/TechDemo A_sol.JSON.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: bcd408b32febdb349a56082aca96f36d -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/FactStateMachines/TechDemo B_sol.JSON b/Assets/Stages/ValidationSets/FactStateMachines/TechDemo B_sol.JSON deleted file mode 100644 index 158ef3dbab977c624865eb75a92dcbb216cd550d..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/FactStateMachines/TechDemo B_sol.JSON +++ /dev/null @@ -1 +0,0 @@ -{"PointFacts":[{"Point":{"x":0.0,"y":0.0,"z":0.0,"magnitude":0.0,"sqrMagnitude":0.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact149","Label":"A","hasCustomLabel":false,"LabelId":1},{"Point":{"x":0.0,"y":6.0,"z":0.0,"normalized":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"magnitude":6.0,"sqrMagnitude":36.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact150","Label":"B","hasCustomLabel":false,"LabelId":2}],"LineFacts":[{"Distance":6.0,"Pid1":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact149","Pid2":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact150","Dir":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact151","Label":"[AB]","hasCustomLabel":false,"LabelId":0}],"RayFacts":[],"OnLineFacts":[],"AngleFacts":[],"MetaInf":{"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact149":{"workflow_id":0,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact150":{"workflow_id":1,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact151":{"workflow_id":2,"active":true}},"Workflow":[{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact149","samestep":false,"steplink":3,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact150","samestep":true,"steplink":0,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact151","samestep":true,"steplink":0,"creation":true}],"marker":3,"worksteps":1,"backlog":0,"soft_resetted":false,"invoke":false,"MaxLabelId":2,"UnusedLabelIds":[]} \ No newline at end of file diff --git a/Assets/Stages/ValidationSets/FactStateMachines/TechDemo B_sol.JSON.meta b/Assets/Stages/ValidationSets/FactStateMachines/TechDemo B_sol.JSON.meta deleted file mode 100644 index 9ebf9eea69da244d7f3171ded5804565cdfd98dc..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/FactStateMachines/TechDemo B_sol.JSON.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 34ecf0b680adf5646b4c1d9c99a01533 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages.meta b/Assets/Stages/ValidationSets/Stages.meta deleted file mode 100644 index 43bcc7a08fec79b3e3ff890f27c4b6c66e0a86c5..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c728017971edf724ebda5a064b672466 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages.meta b/Assets/Stages/ValidationSets/Stages/Stages.meta deleted file mode 100644 index 6bb7e222f2a2684d66ca5257d5fe66f80d831a93..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 580fe9dede781264387b75a16475fb84 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages.meta deleted file mode 100644 index acef2c93fd00969a6d94afde7fb130178bf7ead9..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 15db50aef163ca140bd83ffd46dd85e2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages.meta deleted file mode 100644 index 34ebcdbc402f51c080c884db6b8e163b84025643..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 75770b352d605dd4eb408d8728296ab5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages.meta deleted file mode 100644 index d7e05a83f35f441680e10a7599241184f6c7e7c9..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1e05a5c0fd704cb4f8d0b3f9751cf2f1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages.meta deleted file mode 100644 index 51c9d814c2585b49ac5e5164a15cba3bfad44ce4..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a447e5b38e428d347be7ec57c607a63c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages.meta deleted file mode 100644 index 3adb9551cf1bfd7fb8345d811dbbfba267721664..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f46292ad2a0396e4899cc23be8204d54 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages.meta deleted file mode 100644 index b9ce28139dc13fe9897df151a310b6a8d98232d1..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 33138b02432422d4e90f3b9b357368ca -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages.meta deleted file mode 100644 index 9e5a5a4a2eb9f7a9049cb725ee16cbcfaa13ef15..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f2cb7fbd4a9300d4583eee633c40766f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta deleted file mode 100644 index b40365457556e1fa0aac3b9c7c6a3f780ef32989..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c93175ed604e10847bd5acd7f1a40dd1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta deleted file mode 100644 index c5bb674bacf7619fd1ce586efaf6b0fc835d3a03..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 68199428fdd13d2449e55e59faa7d9ac -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta deleted file mode 100644 index e32678a206262ec72b1e38732926cc0bb9d894ec..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 91c36af12a4d2d049bb604b52262b702 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta deleted file mode 100644 index be3ae191a6096ce81ef38d0af870387229c10678..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ac9a01c266cef764689ce898f8fbcc8e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta deleted file mode 100644 index 995fc376756db02d84472390b7af015addcbdb88..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/Stages/ValidationSets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 09ead5cabd40bd840a123716fbcce6d9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/ValidationSets.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/ValidationSets.meta deleted file mode 100644 index 63236119d4162e6be02a21ec5ea7c4b55f6d5e5a..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/Stages/ValidationSets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 15571408de5775743975430bd32004a7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/Stages/ValidationSets.meta b/Assets/Stages/ValidationSets/Stages/Stages/Stages/ValidationSets.meta deleted file mode 100644 index 76e38e7b3a43e347a7c55647fa0d9dd2f36fd03e..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/Stages/ValidationSets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e23e1c671dd25c64884669c0224a23e7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/Stages/ValidationSets.meta b/Assets/Stages/ValidationSets/Stages/Stages/ValidationSets.meta deleted file mode 100644 index 0583db3739e12d97144aca37a2657eea2899ccb0..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/Stages/ValidationSets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 85c6939345942fe418d5c4c1f6797be2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/Stages/ValidationSets.meta b/Assets/Stages/ValidationSets/Stages/ValidationSets.meta deleted file mode 100644 index 7ad7acc0c8a396d52a1f1770ecc0938ca6c2b85d..0000000000000000000000000000000000000000 --- a/Assets/Stages/ValidationSets/Stages/ValidationSets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 779619f39a4d0d842bd7c55991c5d711 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Stages/ValidationSets/TechDemo A_val.JSON b/Assets/Stages/ValidationSets/TechDemo A_val.JSON index d64ef7038ca138c6f878e16424599f87442decfe..da10b443369fc915b1da4fc6673b2d566a88c1d2 100644 --- a/Assets/Stages/ValidationSets/TechDemo A_val.JSON +++ b/Assets/Stages/ValidationSets/TechDemo A_val.JSON @@ -1 +1 @@ -[{"MasterIDs":["http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact148"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineFactHightDirectionComparer"}] \ No newline at end of file +{"ValidationSet":[{"MasterIDs":["http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact262"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineFactHightDirectionComparer"}],"FactDict":{"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact260":{"s_type":"PointFact","Point":{"x":0.0,"y":0.0,"z":0.0,"magnitude":0.0,"sqrMagnitude":0.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact260","Label":"A","hasCustomLabel":false,"LabelId":1},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact261":{"s_type":"PointFact","Point":{"x":0.0,"y":6.0,"z":0.0,"normalized":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"magnitude":6.0,"sqrMagnitude":36.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact261","Label":"B","hasCustomLabel":false,"LabelId":2},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact262":{"s_type":"LineFact","Distance":6.0,"Pid1":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact260","Pid2":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact261","Dir":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact262","Label":"[AB]","hasCustomLabel":false,"LabelId":0}},"MetaInf":{"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact260":{"workflow_id":0,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact261":{"workflow_id":1,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact262":{"workflow_id":2,"active":true}},"Workflow":[{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact260","samestep":false,"steplink":3,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact261","samestep":true,"steplink":0,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact262","samestep":true,"steplink":0,"creation":true}],"marker":3,"worksteps":1,"backlog":0,"soft_resetted":false,"invoke":false,"MaxLabelId":2,"UnusedLabelIds":[]} \ No newline at end of file diff --git a/Assets/Stages/ValidationSets/TechDemo B_val.JSON b/Assets/Stages/ValidationSets/TechDemo B_val.JSON index f620ff128b57ffa6a7cc6bc449ae4de6927122d5..53d4c077d4fec323afe506b82d48e1f2d2c99245 100644 --- a/Assets/Stages/ValidationSets/TechDemo B_val.JSON +++ b/Assets/Stages/ValidationSets/TechDemo B_val.JSON @@ -1 +1 @@ -[{"MasterIDs":["http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact151"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineFactHightDirectionComparer"},{"MasterIDs":["http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact151"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineSpanningOverRiverWorldComparer"},{"MasterIDs":[],"SolutionIndex":[1],"RelationIndex":[0],"ComparerString":"LineFactHightComparer"}] \ No newline at end of file +{"ValidationSet":[{"MasterIDs":["http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact265"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineFactHightDirectionComparer"},{"MasterIDs":["http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact265"],"SolutionIndex":[],"RelationIndex":[],"ComparerString":"LineSpanningOverRiverWorldComparer"},{"MasterIDs":[],"SolutionIndex":[1],"RelationIndex":[0],"ComparerString":"LineFactHightComparer"}],"FactDict":{"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact263":{"s_type":"PointFact","Point":{"x":0.0,"y":0.0,"z":0.0,"magnitude":0.0,"sqrMagnitude":0.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact263","Label":"A","hasCustomLabel":false,"LabelId":1},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact264":{"s_type":"PointFact","Point":{"x":0.0,"y":6.0,"z":0.0,"normalized":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"magnitude":6.0,"sqrMagnitude":36.0},"Normal":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact264","Label":"B","hasCustomLabel":false,"LabelId":2},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact265":{"s_type":"LineFact","Distance":6.0,"Pid1":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact263","Pid2":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact264","Dir":{"x":0.0,"y":1.0,"z":0.0,"magnitude":1.0,"sqrMagnitude":1.0},"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact265","Label":"[AB]","hasCustomLabel":false,"LabelId":0}},"MetaInf":{"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact263":{"workflow_id":0,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact264":{"workflow_id":1,"active":true},"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact265":{"workflow_id":2,"active":true}},"Workflow":[{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact263","samestep":false,"steplink":3,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact264","samestep":true,"steplink":0,"creation":true},{"Id":"http://mathhub.info/FrameIT/frameworld/integrationtests?SampleSituationSpace/Root?fact265","samestep":true,"steplink":0,"creation":true}],"marker":3,"worksteps":1,"backlog":0,"soft_resetted":false,"invoke":false,"MaxLabelId":2,"UnusedLabelIds":[]} \ No newline at end of file