示例#1
0
        public void DeserializeParts(JArray arr, out uint[] refIDs, out uint[] newIDs)
        {
            refIDs = new uint[arr.Count];
            newIDs = new uint[arr.Count];

            parts.Clear();
            int i = 0;

            foreach (JObject p in arr)
            {
                Part part = null;
                var  type = (int)p["Type"];
                if (type == 2)
                {
                    var ch = p["Character"].ToObject <char>();
                    part = BuiltinCircuit.FromChar(Vector2.Zero, ch);
                }
                else if (type == 0)
                {
                    part = new BasicNeuron();
                }
                else if (type == 1)
                {
                    part = new EditableCircuit();
                }
                else
                {
                    throw new Exception();
                }

                var pos = p["Position"];
                part.Position = new Vector2((float)pos["x"], (float)pos["y"]);
                refIDs[i]     = (uint)p["ID"];
                newIDs[i]     = part.ID;
                parts.Add(part);
                i++;
            }
            for (i = 0; i < parts.Count; i++)
            {
                parts[i].Deserialize((JObject)arr[i], refIDs, newIDs, parts.ToArray());
                if (parts[i] is EditableCircuit c)
                {
                    childEditors.Add(c.Editor);
                }
            }
        }
示例#2
0
文件: Stage.cs 项目: 20chan/Gridly
 public void SetOutputNeuron(BasicNeuron neuron)
 {
     neuron.SetOutputNeuron(outputNeurons.Count);
     outputNeurons.Add(neuron);
 }
示例#3
0
 protected void SetOutput(BasicNeuron n)
 {
     n.SetOutputNeuron(outputNeurons.Count);
     outputNeurons.Add(n);
 }
示例#4
0
文件: Stage.cs 项目: 20chan/Gridly
 public void SetInputNeuron(BasicNeuron neuron)
 {
     neuron.SetInputNeuron(inputNeurons.Count);
     inputNeurons.Add(neuron);
 }
示例#5
0
 protected void SetInput(BasicNeuron n)
 {
     n.SetInputNeuron(inputNeurons.Count);
     inputNeurons.Add(n);
 }