public static ProjectTreeNode Load(ZipArchive archive, string directoryPath, ProjectTreeNode parent) { ZipArchiveEntry entry = archive.GetEntry(directoryPath + "node.xml"); ProjectTreeNode node; using (StreamReader reader = new StreamReader(entry.Open(), Encoding.UTF8)) { System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(SaveData)); var savedata = (SaveData)serializer.Deserialize(reader); if (savedata.Class == "Node_Project") { node = new Node_Project(null); } else if (savedata.Class == "Node_RawTireData") { node = new Node_RawTireData(null, parent as Node_Project); } else if (savedata.Class == "Node_DataSelector") { node = new Node_DataSelector(null, parent as Node_TireDataSet, false); } else// if (savedata.Class == typeof(Node_MagicFormula)) { node = new Node_MagicFormula(null, parent as Node_TireDataSet); } node.savedata = savedata; } if (node.OnLoad(archive, directoryPath)) { node.State = ProjectTreeState.NotChanged; } return(node); }
public Node_RawTireData(string tireName, Node_Project parent) : base(tireName, parent) { rtdm = new RawTireDataManager(); rtdm.OnStateChanged += OnRTDMStateChanged; base.IDataSet = rtdm; }
public static void New(string projectName) { ProjectNode = new ProjectTree.Node_Project(projectName); ProjectNode.OnStateChanged += DataStateChangedImpl; DataStateChangedImpl(ProjectNode.State); }