Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
    // 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));
        }
    }
Esempio n. 3
0
    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.");
     }
 }
Esempio n. 7
0
    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);
    }
Esempio n. 8
0
    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++;
        }
    }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
 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]);
 }
Esempio n. 11
0
 public override string GetName(SerializationTool tool)
 {
     return(nodeA.name + "-" + nodeB.name);;
 }
Esempio n. 12
0
 public override void SetName(SerializationTool tool, string name)
 {
     this.name = name;
 }
Esempio n. 13
0
 public override string GetName(SerializationTool tool)
 {
     return(name);
 }
 public virtual void SetName(SerializationTool tool, string name)
 {
 }
Esempio n. 15
0
 public string GetName(SerializationTool tool)
 {
     return(defaultNode.name);
 }
 public void LoadTestSingle()
 {
     model = SerializationTool.LoadDataFromFile <BlockModel>("save.txt");
 }
Esempio n. 17
0
 public void SetName(SerializationTool tool, string name)
 {
     defaultNode = tool.puzzle.nodes.Find(e => e.GetName(tool) == name);
 }
Esempio n. 18
0
 public string GetName(SerializationTool tool)
 {
     return(tool.puzzle.GetElementContainer(this).GetName(tool));
 }
Esempio n. 19
0
 public override void Deserialize(SerializationTool tool, string str)
 {
     defaultOn = (str == "on");
 }
Esempio n. 20
0
 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");
 }
Esempio n. 24
0
 public string Serialize(SerializationTool tool)
 {
     return(string.Empty);
 }