public void Load(ConfigNode node) { recycle_parts = new HashSet <uint> (); if (node.HasValue("recycle_parts")) { var ids = node.GetValue("recycle_parts").Split(new char[] { ' ' }); uint id; for (int i = 0; i < ids.Length; i++) { if (uint.TryParse(ids[i], out id)) { recycle_parts.Add(id); } } } if (node.HasNode("part_resource")) { part_resources = new List <BuildResource> (); foreach (var pr in node.GetNodes("part_resource")) { var res = new BuildResource(); res.Load(pr); part_resources.Add(res); } } if (node.HasValue("state")) { var state = fsm.FindState(node.GetValue("state")); if (state != null) { start_state = state; } } }
public void Load(ConfigNode node) { var req = node.GetNode("Required"); foreach (var r in req.GetNodes("BuildResrouce")) { var res = new BuildResource(); res.Load(r); required.Add(res); } var opt = node.GetNode("Optional"); foreach (var r in opt.GetNodes("BuildResrouce")) { var res = new BuildResource(); res.Load(r); optional.Add(res); } }