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); } } }
public void SetOutputNeuron(BasicNeuron neuron) { neuron.SetOutputNeuron(outputNeurons.Count); outputNeurons.Add(neuron); }
protected void SetOutput(BasicNeuron n) { n.SetOutputNeuron(outputNeurons.Count); outputNeurons.Add(n); }
public void SetInputNeuron(BasicNeuron neuron) { neuron.SetInputNeuron(inputNeurons.Count); inputNeurons.Add(neuron); }
protected void SetInput(BasicNeuron n) { n.SetInputNeuron(inputNeurons.Count); inputNeurons.Add(n); }