private IEnumerator WaitAndRebuildList(ShipConstruct ship) { while (--rebuild_list_wait_frames > 0) { yield return(null); } buildCost = null; cashed_cost = null; parts_count = 0; if (ship == null || ship.parts == null || ship.parts.Count < 1 || ship.parts[0] == null) { yield break; } if (ship.parts.Count > 0) { Part root = ship.parts[0].localRoot; buildCost = new BuildCost(); addPart(root); foreach (Part p in root.GetComponentsInChildren <Part>()) { if (p != root) { addPart(p); } } } cashed_cost = buildCost.cost; }
public void Load(ConfigNode node) { if (node.HasValue("filename")) { filename = node.GetValue("filename"); } if (node.HasValue("flagname")) { flagname = node.GetValue("flagname"); } if (node.HasNode("CraftConfig")) { craftConfig = node.GetNode("CraftConfig"); } if (node.HasNode("BuildCost")) { var bc = node.GetNode("BuildCost"); buildCost = new CostReport(); buildCost.Load(bc); } if (node.HasNode("BuiltStuff")) { var bs = node.GetNode("BuiltStuff"); builtStuff = new CostReport(); builtStuff.Load(bs); } if (node.HasValue("state")) { var s = node.GetValue("state"); state = (State)Enum.Parse(typeof(State), s); if (state == State.Dewarping) { // The game got saved while the Dewarping state was still // active. Rather than restarting the dewarp coroutine, // Just jump straight to the Complete state. state = State.Complete; } } if (node.HasValue("paused")) { var s = node.GetValue("paused"); bool p = false; bool.TryParse(s, out p); paused = p; } if (node.HasValue("KACalarmID")) { KACalarmID = node.GetValue("KACalarmID"); } if (node.HasNode("DockedVesselInfo")) { ConfigNode vi = node.GetNode("DockedVesselInfo"); vesselInfo = new DockedVesselInfo(); vesselInfo.Load(vi); } }
public void Load (ConfigNode node) { filename = node.GetValue ("filename"); flagname = node.GetValue ("flagname"); craftConfig = node.GetNode ("CraftConfig"); if (node.HasNode ("BuildCost")) { var bc = node.GetNode ("BuildCost"); buildCost = new CostReport (); buildCost.Load (bc); } if (node.HasNode ("BuiltStuff")) { var bs = node.GetNode ("BuiltStuff"); builtStuff = new CostReport (); builtStuff.Load (bs); } if (node.HasValue ("state")) { var s = node.GetValue ("state"); state = (State) Enum.Parse (typeof (State), s); if (state == State.Dewarping) { // The game got saved while the Dewarping state was still // active. Rather than restarting the dewarp coroutine, // Just jump straight to the Complete state. state = State.Complete; } } if (node.HasValue ("paused")) { var s = node.GetValue ("paused"); bool p = false; bool.TryParse (s, out p); paused = p; } KACalarmID = node.GetValue ("KACalarmID"); if (node.HasNode ("DockedVesselInfo")) { ConfigNode vi = node.GetNode ("DockedVesselInfo"); vesselInfo = new DockedVesselInfo (); vesselInfo.Load (vi); } }
void onEditorRestart() { buildCost = null; cashed_cost = null; parts_count = 0; }
private IEnumerator WaitAndRebuildList(ShipConstruct ship) { while (--rebuild_list_wait_frames > 0) { yield return null; } buildCost = null; cashed_cost = null; parts_count = 0; if (ship == null || ship.parts == null || ship.parts.Count < 1 || ship.parts[0] == null) { yield break; } if (ship.parts.Count > 0) { Part root = ship.parts[0].localRoot; buildCost = new BuildCost (); addPart (root); foreach (Part p in root.GetComponentsInChildren<Part>()) { if (p != root) { addPart (p); } } } cashed_cost = buildCost.cost; }