예제 #1
0
 public void Start(Collider field)
 {
     workNet      = recycler.vessel.FindVesselModuleImplementing <ELVesselWorkNet> ();
     RecycleField = field;
     GameEvents.onVesselWasModified.Add(onVesselWasModified);
     recycler_resources = new RMResourceSet(recycler.vessel, recycle_parts);
     fsm.StartFSM(start_state);
 }
예제 #2
0
        void BuildPadList(Vessel v)
        {
            launchpads = null;
            pad_list   = null;
            worknet    = null;

            if (v.isEVA)
            {
                control = null;
                return;
            }
            var pads = v.FindPartModulesImplementing <ELBuildControl.IBuilder> ();

            if (pads.Count < 1)
            {
                control = null;
            }
            else
            {
                worknet = FindWorkNet(v);
                if (worknet != null)
                {
                    control = FindControl(v, worknet.selectedPad);
                }
                launchpads = new List <ELBuildControl> ();
                int control_index = -1;
                for (int i = 0; i < pads.Count; i++)
                {
                    launchpads.Add(pads[i].control);
                    if (control == pads[i].control)
                    {
                        control_index = i;
                    }
                }
                if (control_index < 0)
                {
                    control_index = 0;
                    control       = pads[0].control;
                }
                var pad_names = new List <string> ();
                for (int ind = 0; ind < launchpads.Count; ind++)
                {
                    var p = launchpads[ind];
                    if (p.builder.Name != "")
                    {
                        pad_names.Add(p.builder.Name);
                    }
                    else
                    {
                        pad_names.Add("pad-" + ind);
                    }
                }
                pad_list = new DropDownList(pad_names);

                Select_Pad(launchpads[control_index]);
            }
        }
예제 #3
0
 public override void OnStart(PartModule.StartState state)
 {
     if (vessel == null)
     {
         // in an editor
         return;
     }
     workNet = vessel.FindVesselModuleImplementing <ELVesselWorkNet> ();
 }
예제 #4
0
 public override void OnStart(PartModule.StartState state)
 {
     if (vessel == null)
     {
         // in an editor
         return;
     }
     workNet = vessel.FindVesselModuleImplementing <ELVesselWorkNet> ();
     StartCoroutine(WaitAndUpdateProductivity());
 }