Exemplo n.º 1
0
        private static void CheckTanksAndLaunch(bool fillTanks)
        {
            foreach (PartCrewAssignment crewedPart in KCTGameStates.LaunchedCrew)
            {
                foreach (CrewMemberAssignment assign in crewedPart.CrewList)
                {
                    ProtoCrewMember pcm = assign?.PCM;
                    if (pcm == null)
                    {
                        continue;
                    }
                    ModuleInventoryPart inv = pcm.KerbalInventoryModule;
                    inv.storedParts.Clear();

                    if (assign.HasJetpack)
                    {
                        AddPartToInventory(JetpackPartName, inv);
                    }
                    if (assign.HasChute)
                    {
                        AddPartToInventory(ChutePartName, inv);
                    }

                    pcm.SaveInventory(pcm.KerbalInventoryModule);
                }
            }

            KCTGameStates.Settings.RandomizeCrew = AssignRandomCrew;
            KCTGameStates.LaunchedVessel.Launch(fillTanks);

            GUIStates.ShowShipRoster       = false;
            _crewListWindowPosition.height = 1;
        }