void ExDiscoverWorkshops(BaseEventData data) { if (!functional) { return; } // Even the master workshop is its own slave. //Debug.Log (String.Format ("[EL Workshop] slave")); master = data.Get <ExWorkshop> ("master"); data.Get <List <ExWorkshop> > ("sources").Add(this); }
private void DiscoverWorkshops() { ExWorkshop shop = findFirstWorkshop(vessel.rootPart); if (shop == this) { //Debug.Log (String.Format ("[EL Workshop] master")); var data = new BaseEventData(BaseEventData.Sender.USER); data.Set <ExWorkshop> ("master", this); sources = new List <ExWorkshop> (); sinks = new List <ExWorkSink> (); data.Set <List <ExWorkshop> > ("sources", sources); data.Set <List <ExWorkSink> > ("sinks", sinks); vessel.rootPart.SendEvent("ExDiscoverWorkshops", data); } else { sources = null; sinks = null; } }
Part SelectPart() { var count = recycle_parts.Count; if (count < 1) { return(null); } float prod = 0; if (master != null) { prod = ExWorkshop.HyperCurve(master.vessel_productivity); } Part p; do { var ar = recycle_parts.ToArray(); var id = ar[random(0, recycle_parts.Count)]; p = recycler.vessel[id]; if (p == null) { recycle_parts.Remove(id); } } while (p == null && recycle_parts.Count > 0); while (p != null && p.children.Count > 0) { if (prod < 1 && random(0, 1f) < 1 - prod) { break; } p = p.children[random(0, p.children.Count)]; } return(p); }
void ExDiscoverWorkshops(BaseEventData data) { if (!functional) { return; } // Even the master workshop is its own slave. //Debug.Log (String.Format ("[EL Workshop] slave")); master = data.Get<ExWorkshop> ("master"); data.Get<List<ExWorkshop>> ("sources").Add (this); }
public void SetMaster(ExWorkshop master) { this.master = master; }
public void SetMaster (ExWorkshop master) { this.master = master; }