public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("UID", UID);
info.AddValue("PosX", Pos.x);
info.AddValue("PosY", Pos.y);
info.AddValue("PosWidth", Pos.width);
info.AddValue("PosHeight", Pos.height);
info.AddValue("NInputs", Inputs.Count);
for (int i = 0; i < Inputs.Count; ++i)
{
info.AddValue("Input" + i.ToString(), Inputs[i], typeof(NodeInput));
info.AddValue("InputName" + i.ToString(), InputNames[i]);
info.AddValue("InputDefaultVal" + i.ToString(), InputDefaultVals[i]);
}
}