Exemple #1
0
/*************************************************************************************************************************/
        void Update()
        {
            flight_scene_update_routine();

            if (ThrottleLogger != null)
            {
                ThrottleLogger.Update();
            }

            if (ThrottleReplay != null)
            {
                ThrottleReplay.Update();
            }
        }
Exemple #2
0
        /*************************************************************************************************************************/
        void vessel_on_rails(Vessel vessel)
        {
            List <ProtoCrewMember> member_list = new List <ProtoCrewMember>();

            Log.PushStackInfo("FMRS_Core.vessel_on_rails", "enter vessel_on_rails(Vessel vessel) {0}", vessel.id);
            Log.detail("Vessel will be on rails: {0}", vessel.vesselName);

            if (Vessels_dropped.ContainsKey(vessel.id) && !_SAVE_Switched_To_Dropped)
            {
                Log.dbg("this vessel is listed in dropped dict");

                foreach (ProtoPartSnapshot part_snapshot in vessel.protoVessel.protoPartSnapshots)
                {
                    foreach (ProtoCrewMember member in part_snapshot.protoModuleCrew)
                    {
                        member_list.Add(member);
                    }
                    foreach (ProtoCrewMember member in member_list)
                    {
                        Log.dbg("remove crew member {0}", member.name);
                        part_snapshot.RemoveCrew(member);
                    }
                    member_list.Clear();
                }
            }

            if (_SAVE_Switched_To_Dropped)
            {
                if (loaded_vessels.Contains(vessel.id) && vessel.id != FlightGlobals.ActiveVessel.id && !vessel.Landed && !vessel.Splashed)
                {
                    Log.detail("loaded_vessels: removing {0}", vessel.id);
                    loaded_vessels.Remove(vessel.id);
                    Log.detail("vessel {0} removed from loaded_vessels", vessel.name);
                }

                if (vessel.id == _SAVE_Main_Vessel)
                {
                    if (ThrottleReplay != null)
                    {
                        vessel.OnFlyByWire -= new FlightInputCallback(ThrottleReplay.flybywire);
                        ThrottleReplay.EndReplay();
                    }
                }
            }

            Log.PopStackInfo("leave vessel_on_rails(Vessel vessel)");
        }
Exemple #3
0
/*************************************************************************************************************************/
        void Update()
        {
            flight_scene_update_routine();

            if (ThrottleLogger != null)
#if DEBUG
            { ThrottleLogger.Update(Debug_Active, Debug_Level_1_Active); }
#else
            { ThrottleLogger.Update(); }
#endif

            if (ThrottleReplay != null)
#if DEBUG
            { ThrottleReplay.Update(Debug_Active, Debug_Level_1_Active); }
#else
            { ThrottleReplay.Update(); }
#endif
        }
        /*************************************************************************************************************************/
        void vessel_on_rails(Vessel vessel)
        {
            List <ProtoCrewMember> member_list = new List <ProtoCrewMember>();

#if DEBUG
            // if (Debug_Level_1_Active)
            Log.PushStackInfo("FMRS_Core.vessel_on_rails", "enter vessel_on_rails(Vessel vessel) " + vessel.id.ToString());
            if (Debug_Active)
            {
                Log.Info("Vessel will be on rails: " + vessel.vesselName);
            }
#endif
            if (Vessels_dropped.ContainsKey(vessel.id) && !_SAVE_Switched_To_Dropped)
            {
#if DEBUG
                if (Debug_Active)
                {
                    Log.Info("this vessel is listed in dropped dict");
                }
#endif

                foreach (ProtoPartSnapshot part_snapshot in vessel.protoVessel.protoPartSnapshots)
                {
                    foreach (ProtoCrewMember member in part_snapshot.protoModuleCrew)
                    {
                        member_list.Add(member);
                    }
                    foreach (ProtoCrewMember member in member_list)
                    {
#if DEBUG
                        if (Debug_Active)
                        {
                            Log.Info("remove crew member " + member.name);
                        }
#endif
                        part_snapshot.RemoveCrew(member);
                    }
                    member_list.Clear();
                }
            }

            if (_SAVE_Switched_To_Dropped)
            {
                if (loaded_vessels.Contains(vessel.id) && vessel.id != FlightGlobals.ActiveVessel.id && !vessel.Landed && !vessel.Splashed)
                {
#if DEBUG
                    if (Debug_Active)
                    {
                        Log.Info("loaded_vessels: removing " + vessel.id.ToString());
                    }
#endif
                    loaded_vessels.Remove(vessel.id);

#if DEBUG
                    if (Debug_Active)
                    {
                        Log.Info("vessel " + vessel.name + " removed from loaded_vessels");
                    }
#endif
                }

                if (vessel.id == _SAVE_Main_Vessel)
                {
                    if (ThrottleReplay != null)
                    {
                        vessel.OnFlyByWire -= new FlightInputCallback(ThrottleReplay.flybywire);
                        ThrottleReplay.EndReplay();
                    }
                }
            }
#if DEBUG
            // if (Debug_Level_1_Active)
            Log.PopStackInfo("leave vessel_on_rails(Vessel vessel)");
#endif
        }