Пример #1
0
        //set info about the docking.  if the part is docked this set's is_docked to true and sets docked_to to be the part it is docked with.
        public virtual void get_docked_info()
        {
            ModuleDockingNode module = this.part.FindModuleImplementing <ModuleDockingNode>();

            if (module.otherNode)
            {
                docked_to     = module.otherNode.part;
                opposite_pump = docked_to.FindModuleImplementing <DockingFuelPump>();
                if (docked_to.aerodynamicArea < pump_size)
                {
                    pump_size = docked_to.aerodynamicArea;
                }
                is_docked = true;
            }
        }
Пример #2
0
 //setup events to stop the fuel pump when the port is undocked or it goes kaboomy
 public override void OnStart(StartState state)
 {
     this.part.OnJustAboutToBeDestroyed += () => {
         if (pump_running)
         {
             stop_fuel_pump();
             if (opposite_pump)
             {
                 opposite_pump.stop_fuel_pump();
             }
         }
     };
     GameEvents.onPartUndock.Add((part) => {
         DockingFuelPump module = part.FindModuleImplementing <DockingFuelPump>();
         if (module && module.pump_running)
         {
             log("undocking...stopping fuel pump");
             module.stop_fuel_pump();
         }
     });
 }