protected override void OnLoad(ConfigNode node) { int targetLocation; string[] scienceString = node.GetValue("Science_Subject").Split('|'); name = scienceString[0]; DMUtils.availableScience["All"].TryGetValue(name, out scienceContainer); if (scienceContainer == null) { DMUtils.Logging("Failed To Load Science Container Variables; Asteroid Parameter Set To Complete"); this.SetComplete(); } else { partName = scienceContainer.SciPart; } if (!bool.TryParse(scienceString[1], out collected)) { DMUtils.Logging("Failed To Load Collected State; Asteroid Parameter Assuming Experiment Already Collected"); collected = true; } if (int.TryParse(scienceString[2], out targetLocation)) { scienceLocation = (ExperimentSituations)targetLocation; } else { DMUtils.Logging("Failed To Load Situation Variables; Asteroid Parameter Set To Complete"); this.SetComplete(); } root = (DMAsteroidSurveyContract)this.Root; }
protected override void OnLoad(ConfigNode node) { int targetLocation = node.parse("Situation", (int)65); if (targetLocation >= 65 || targetLocation <= 0) { removeThis("Failed To Load Situation Variables; Asteroid Parameter Removed"); return; } scienceLocation = (ExperimentSituations)targetLocation; collected = node.parse("Collected", (bool)true); name = node.parse("Name", ""); if (string.IsNullOrEmpty(name)) { removeThis("Failed To Load Science Container Variables; Asteroid Parameter Removed"); return; } if (!DMUtils.availableScience.ContainsKey("All")) { removeThis("Failed To Load Science Container Variables; Asteroid Parameter Removed"); return; } DMUtils.availableScience["All"].TryGetValue(name, out scienceContainer); if (scienceContainer == null) { removeThis("Failed To Load Science Container Variables; Asteroid Parameter Removed"); return; } else { partName = scienceContainer.SciPart; } try { root = (DMAsteroidSurveyContract)this.Root; } catch (Exception e) { removeThis("Could not find root asteroid contract; removing DMAsteroid Parameter\n" + e); return; } }