internal void FillVesselCrew(Vessel vessel) { foreach (var part in vessel.parts) { if (part.CrewCapacity > 0) { FillPartCrew(part.CrewCapacity - part.protoModuleCrew.Count, part); } } RMAddon.FireEventTriggers(vessel); }
internal static void AddCrewMember(ProtoCrewMember pKerbal, Part part) { part.AddCrewmember(pKerbal); pKerbal.rosterStatus = ProtoCrewMember.RosterStatus.Assigned; if (part.internalModel != null) { if (pKerbal.seat != null) { pKerbal.seat.SpawnCrew(); } } RMAddon.FireEventTriggers(part.vessel); }
internal void EmptyVesselCrew(Vessel vessel) { foreach (var part in vessel.parts) { if (part.CrewCapacity > 0) { for (int i = part.protoModuleCrew.Count - 1; i >= 0; i--) { RMAddon.RemoveCrewMember(part.protoModuleCrew[i], part); } RMAddon.FireEventTriggers(vessel); } } }
internal static void AddCrewMember(ProtoCrewMember pKerbal, Vessel vessel) { foreach (Part part in vessel.parts) { if (part.CrewCapacity > 0 && !RMAddon.CrewPartIsFull(part)) { part.AddCrewmember(pKerbal); pKerbal.rosterStatus = ProtoCrewMember.RosterStatus.Assigned; if (part.internalModel != null) { if (pKerbal.seat != null) { pKerbal.seat.SpawnCrew(); } } RMAddon.FireEventTriggers(part.vessel); break; } } }
internal static void RemoveCrewMember(ProtoCrewMember pKerbal, Part part) { part.RemoveCrewmember(pKerbal); pKerbal.rosterStatus = ProtoCrewMember.RosterStatus.Available; RMAddon.FireEventTriggers(part.vessel); }
internal void RespawnCrew(Vessel vessel) { vessel.SpawnCrew(); RMAddon.FireEventTriggers(vessel); }