void FindVesselResources() { var craft_parts = CraftParts(); var pad_parts = new HashSet <Part> (builder.vessel.parts); pad_parts.ExceptWith(craft_parts); //Debug.Log ($"[ELBuildControl] FindVesselResources pad {pad_parts.Count} craft {craft_parts.Count}"); string vesselName = builder.vessel.vesselName; Part root = builder.part.localRoot; //Debug.Log ($"[ELBuildControl] FindVesselResources pad"); padResourceManager = new RMResourceManager(vesselName, pad_parts, root, craft_parts, false, true); if (craft_parts.Count > 0) { //Debug.Log ($"[ELBuildControl] FindVesselResources craft"); craftResourceManager = new RMResourceManager(craftName, craft_parts, craftRoot, null, false, true); } }
void RebuildSets(Vessel v) { Part rootPart = v.parts[0].localRoot; //Debug.Log ($"[ELResourceWindow] RebuildSets"); resourceManager = new RMResourceManager(v.parts, rootPart, true, true); resscroll.Reset(); var set = new HashSet <string> (); setSelected = null; xferState = null; dstSets.Clear(); srcSets.Clear(); foreach (var s in resourceManager.resourceSets) { foreach (string r in s.resources.Keys) { set.Add(r); } } resources = set.ToList(); resourceStates = new bool [resources.Count]; UpdateGUIState(); }
internal void SetupCraftResources(Vessel vsl) { Part rootPart = vsl.parts[0].localRoot; craftResourceManager = new RMResourceManager(vsl.parts, rootPart, false, true); foreach (var br in buildCost.optional) { var amount = craftResources.ResourceAmount(br.name); craftResources.TransferResource(br.name, -amount); } }
void onVesselChange(Vessel v) { resourceManager = new RMResourceManager(v.parts, true); resscroll.Reset(); var set = new HashSet <string> (); setSelected = null; xferState = null; dstSets.Clear(); srcSets.Clear(); foreach (var s in resourceManager.resourceSets) { foreach (string r in s.resources.Keys) { set.Add(r); } } resources = set.ToList(); resourceStates = new bool [resources.Count]; UpdateGUIState(); }
public string Name(Part part) { uint id = RMResourceManager.GetID(part); return(parts[id]); }
public bool Has(Part part) { uint id = RMResourceManager.GetID(part); return(parts.ContainsKey(id)); }
public void Add(Part part, string name) { uint id = RMResourceManager.GetID(part); parts[id] = name; }