protected override int OnPathEntered(string path) { Console.Clear(); Console.WriteLine("Dumping GPIO state to file : {0}.", path); SerializationTool tool = new SerializationTool(); String serializedState = tool.SerializeState(0, MainClass.MAX_GPIO_NUMBER, tagsState); Console.WriteLine(); Console.WriteLine(serializedState); Console.WriteLine(); try { File.WriteAllText(path, serializedState); Console.WriteLine("GPIO state dump completed, press any key to continue..."); if (!handsOffMode) { Console.ReadKey(true); } return(RETURN_VALUE_OK); } catch (Exception e) { Console.WriteLine(String.Format("Error while dumping GPIO state {0}, press any key to continue...", e.Message)); if (!handsOffMode) { Console.ReadKey(true); } return(RETURN_VALUE_ERROR); } }
// Serialization public static void Serialize(Puzzle puzzle, TextWriter writer) { SerializationTool tool = new SerializationTool(puzzle); writer.WriteLine(puzzle.name); foreach (PuzzleNode node in puzzle.nodes) { writer.WriteLine(tool.Serialize(node)); } foreach (PuzzleEdge edge in puzzle.edges) { writer.WriteLine(tool.Serialize(edge)); } foreach (PuzzleElement element in puzzle.staticElements) { writer.WriteLine(tool.Serialize(element)); } foreach (PuzzleElement element in puzzle.dynamicElements) { writer.WriteLine(tool.Serialize(element)); } foreach (PuzzleItem item in puzzle.items) { writer.WriteLine(tool.Serialize(item)); } }
public static void Deserialize(Puzzle emptyPuzzle, TextReader reader) { SerializationTool tool = new SerializationTool(emptyPuzzle); emptyPuzzle.name = reader.ReadLine(); while (reader.Peek() != -1) { string line = reader.ReadLine(); PuzzleSerializable obj = tool.DeserializePartly(line); if (obj is PuzzleNode) { emptyPuzzle.AddNode(obj as PuzzleNode); } else if (obj is PuzzleEdge) { emptyPuzzle.AddEdge(obj as PuzzleEdge); } else if (obj is PuzzleElement) { emptyPuzzle.AddElement(obj as PuzzleElement); } else if (obj is PuzzleItem) { emptyPuzzle.AddItem(obj as PuzzleItem); } } tool.Final(); }
public void SaveTestList() { if (SerializationTool.SaveDataToFile <List <BlockModel> >("save.txt", models)) { Debug.Log("Save Successful."); } else { Debug.Log("Save failed."); } }
public void SetName(SerializationTool tool, string name) { if (name.Contains("-")) { tool.puzzle.edges.Find(e => e.GetName(tool) == name).element = this; } else { tool.puzzle.nodes.Find(e => e.GetName(tool) == name).element = this; } }
public void SaveTestSingle() { if (SerializationTool.SaveDataToFile <BlockModel>("save.txt", model)) { Debug.Log("Saved Successful."); } else { Debug.Log("Save failed."); } }
public override string Serialize(SerializationTool tool) { string str = string.Empty; str += "pos:" + position.x + "," + position.y; if (receiverElements.Count > 0) { string[] names = receiverElements.Select(e => tool.puzzle.GetElementContainer(e).GetName(tool)).ToArray(); str += " notify:" + string.Join(",", names); } return(str); }
public override void Deserialize(SerializationTool tool, string str) { string[] tokens = str.Split(new char[] { ' ' }, System.StringSplitOptions.RemoveEmptyEntries); int pos = 0; string[] coords = tokens[pos].Substring(4).Split(','); SetPosition(new Point(int.Parse(coords[0]), int.Parse(coords[1]))); pos++; while (pos < tokens.Length) { if (tokens[pos].StartsWith("notify:")) { string[] receiverNames = tokens[pos].Substring(7).Split(','); foreach (string name in receiverNames) { PuzzleElement receiver = tool.puzzle.dynamicElements.Find(e => e.GetName(tool) == name); tool.puzzle.AddReceiver(this, receiver as PuzzleReceiverElement); } } pos++; } }
public void MultithreadedBlockZoneGenerator() { int offset = -1; blockModels.Clear(); foreach (var blockZone in blockZones) { if (blockZone != null) { var blockZoneReporter = new Thread(() => GenerateBlockZone(blockZone, offset)); blockZoneReporter.Start(); // Required to make sure the same amount of blocks are generated each time. blockZoneReporter.Join(); offset += blockZone.LowYPosition; } } // Saves BlockModel list data to C:\Users\hiddengames\AppData\LocalLow\hiddengames\Motherload-Clone SerializationTool.SaveDataToFile("save.txt", blockModels); }
public override void SetName(SerializationTool tool, string name) { string[] nodeNames = name.Split('-'); nodeA = tool.puzzle.nodes.Find(e => e.GetName(tool) == nodeNames[0]); nodeB = tool.puzzle.nodes.Find(e => e.GetName(tool) == nodeNames[1]); }
public override string GetName(SerializationTool tool) { return(nodeA.name + "-" + nodeB.name);; }
public override void SetName(SerializationTool tool, string name) { this.name = name; }
public override string GetName(SerializationTool tool) { return(name); }
public virtual void SetName(SerializationTool tool, string name) { }
public string GetName(SerializationTool tool) { return(defaultNode.name); }
public void LoadTestSingle() { model = SerializationTool.LoadDataFromFile <BlockModel>("save.txt"); }
public void SetName(SerializationTool tool, string name) { defaultNode = tool.puzzle.nodes.Find(e => e.GetName(tool) == name); }
public string GetName(SerializationTool tool) { return(tool.puzzle.GetElementContainer(this).GetName(tool)); }
public override void Deserialize(SerializationTool tool, string str) { defaultOn = (str == "on"); }
public override string Serialize(SerializationTool tool) { return(defaultOn ? "on" : "off"); }
public virtual void Deserialize(SerializationTool tool, string str) { }
public virtual string GetName(SerializationTool tool) { return(string.Empty); }
public void LoadTestList() { models = SerializationTool.LoadDataFromFile <List <BlockModel> >("save.txt"); }
public string Serialize(SerializationTool tool) { return(string.Empty); }