Beispiel #1
0
 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);
 }
Beispiel #2
0
        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;
            }
        }
Beispiel #3
0
        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);
 }
Beispiel #5
0
 public void SetMaster(ExWorkshop master)
 {
     this.master = master;
 }
		public void SetMaster (ExWorkshop master)
		{
			this.master = master;
		}