/// <summary> /// Loads an Artifact from the given Path. /// Path needs to point to the Directory the Artifact lays in. /// </summary> /// <param name="path">The BaseDirectory of the Artifacts.</param> /// <param name="name">The Name of the Artifact to be loaded.</param> /// <returns></returns> public static ArtifactTemplate LoadArtifactTemplate(string name) { ArtifactTemplate ReturnMe = new ArtifactTemplate(); XmlSerializer serializer = new XmlSerializer(typeof(ArtifactTemplate)); using (Stream file = File.OpenRead(AppDomain.CurrentDomain.BaseDirectory + PATH + "\\" + name + ".xml")) { ReturnMe = (ArtifactTemplate)serializer.Deserialize(file); } return(ReturnMe); }
public bool HasNextStage() { switch (ArtifactTemplate.GetArtifactTemplate(Template).StageSelectionMode) { case "Random": return(visitedStages.Count < ArtifactTemplate.GetArtifactTemplate(Template).Stages); case "InOrder": default: return(CurrentStage < ArtifactTemplate.GetArtifactTemplate(Template).Stages); } }
public static void SaveArtifactTemplate(ArtifactTemplate artifact) { if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + PATH)) { Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + PATH); } XmlSerializer serializer = new XmlSerializer(typeof(ArtifactTemplate)); using (Stream file = File.OpenWrite(AppDomain.CurrentDomain.BaseDirectory + PATH + "//" + artifact.Name + ".xml")) { serializer.Serialize(file, artifact); } }
public int GetNextStage() { switch (ArtifactTemplate.GetArtifactTemplate(Template).StageSelectionMode) { case "Random": List <int> possibleStages = new List <int>(); for (int s = 0; s < ArtifactTemplate.GetArtifactTemplate(Template).Stages; s++) { if (!visitedStages.Contains(s)) { possibleStages.Add(s); } } return(possibleStages[RandomHelper.GetHelper().GetGenerator().Next(0, possibleStages.Count)]); case "InOrder": default: return(CurrentStage++); } }