public MyReichstagCMission()
        {
            ID = MyMissionID.REICHSTAG_C; /* ID must be added to MyMissions.cs */
            DebugName = new StringBuilder("18c-Reichstag C");
            Name = MyTextsWrapperEnum.REICHSTAG_C;
            Description = MyTextsWrapperEnum.REICHSTAG_C_Description;
            Flags = MyMissionFlags.Story;
            AchievementName = MySteamAchievementNames.Mission27_Reichstag2;

            MyMwcVector3Int baseSector = new MyMwcVector3Int(-2325831, 0, -7186381);

            Location = new MyMissionLocation(baseSector, (uint)EntityID.StartLocation);

            RequiredMissions = new MyMissionID[] { MyMissionID.NAZI_BIO_LAB };
            RequiredMissionsForSuccess = new MyMissionID[] { MyMissionID.REICHSTAG_C_MOTHERSHIP };
            RequiredActors = new MyActorEnum[] { MyActorEnum.MADELYN, MyActorEnum.TARJA, MyActorEnum.VALENTIN };

            m_objectives = new List<MyObjective>();


            var MeetSubmission = new MyMeetObjective(
                 (MyTextsWrapperEnum.REICHSTAG_C_FOR_Name),
                MyMissionID.REICHSTAG_C_FOR,
                (MyTextsWrapperEnum.REICHSTAG_C_FOR_Description),
                this,
                new MyMissionID[] { },
                null,
                (uint)EntityID.Bot_WaltherStauffenberg,
                100,
                0.25f,
                null
               ) { SaveOnSuccess = true, FollowMe = false };
          /*  MeetSubmission.OnMissionSuccess += MeetSubmissionSuccess;
            MeetSubmission.OnMissionLoaded += MeetSubmissionLoaded;*/
            m_objectives.Add(MeetSubmission);

            var colonelDialogue = new MyObjectiveDialog(
                MyMissionID.REICHSTAG_C_COLONEL_DIALOGUE,
                null,
                this,
                new MyMissionID[] {MyMissionID.REICHSTAG_C_FOR },
                dialogId: MyDialogueEnum.REICHSTAG_C_0100_OFFICER_TALK
                ) { SaveOnSuccess = true };
            m_objectives.Add(colonelDialogue);

            var goToShipyard = new MyMeetObjective(
                (MyTextsWrapperEnum.REICHSTAG_C_GO_TO_SHIPYARD_Name),
                MyMissionID.REICHSTAG_C_GO_TO_SHIPYARD,
                (MyTextsWrapperEnum.REICHSTAG_C_GO_TO_SHIPYARD_Description),
                this,
                new MyMissionID[] { MyMissionID.REICHSTAG_C_COLONEL_DIALOGUE },
                null,
                (uint)EntityID.Bot_ShipyardOfficer,
                100,
                0.25f,
                null,
                startDialogueId: MyDialogueEnum.REICHSTAG_C_0200_ON_THE_WAY
               ) { SaveOnSuccess = true, FollowMe = false };
            m_objectives.Add(goToShipyard);
            goToShipyard.OnMissionLoaded += GoToShipyardLoaded;

            var talkToSupplyOfficer = new MyObjectiveDialog(
                MyMissionID.REICHSTAG_C_TALK_TO_SUPPLY_OFFICER,
                null,
                this,
                new MyMissionID[] { MyMissionID.REICHSTAG_C_GO_TO_SHIPYARD },
                dialogId: MyDialogueEnum.REICHSTAG_C_0400_SUPPLY_OFFICER
                ) { SaveOnSuccess = true };
            m_objectives.Add(talkToSupplyOfficer);

            var ChangeShip = new MyUseObjective(
                (MyTextsWrapperEnum.REICHSTAG_C_CHANGESHIP_Name),
                MyMissionID.REICHSTAG_C_CHANGESHIP,
                (MyTextsWrapperEnum.REICHSTAG_C_CHANGESHIP_Description),
                null,
                this,
                new MyMissionID[] { MyMissionID.REICHSTAG_C_TALK_TO_SUPPLY_OFFICER },
                new MyMissionLocation(baseSector, (uint)EntityID.Bot_Disabled_03),
                MyTextsWrapperEnum.PressToBoardShip,
                MyTextsWrapperEnum.Ship,
                MyTextsWrapperEnum.BoardingInProgress,
                3000,
                radiusOverride:30,
                startDialogId: MyDialogueEnum.REICHSTAG_C_0500_REACHING_SHIPS
            );
            m_objectives.Add(ChangeShip);
            ChangeShip.OnMissionSuccess += ChangeShipOnOnMissionSuccess;

            var ShipChangedDialogue = new MyObjectiveDialog(
                MyMissionID.REICHSTAG_C_SHIP_CHANGED_DIALOGUE,
                null,
                this,
                new MyMissionID[] { MyMissionID.REICHSTAG_C_CHANGESHIP },
                dialogId: MyDialogueEnum.REICHSTAG_C_0600_SHIPS_PICKUPED
                ) { SaveOnSuccess = true };
            m_objectives.Add(ShipChangedDialogue);
           
            var GetArmed  = new MyObjectiveEnterInventory(
                (MyTextsWrapperEnum.REICHSTAG_C_WEAPONS_Name),
                MyMissionID.REICHSTAG_C_WEAPONS,
                (MyTextsWrapperEnum.REICHSTAG_C_WEAPONS_Description),
                null,
                this,
                new MyMissionID[] { MyMissionID.REICHSTAG_C_SHIP_CHANGED_DIALOGUE },
                (uint)EntityID.Objective_Shipchange,
                successDialogId: MyDialogueEnum.REICHSTAG_C_0800_SHOPPING_FINISHED
            );
            m_objectives.Add(GetArmed);
            GetArmed.OnMissionLoaded += GetArmedLoaded;

            var MeetTransporterCaptain = new MyMeetObjective(
                (MyTextsWrapperEnum.REICHSTAG_C_GO_TO_HANGAR_Name),
                MyMissionID.REICHSTAG_C_GO_TO_HANGAR,
                (MyTextsWrapperEnum.REICHSTAG_C_GO_TO_HANGAR_Description),
                this,
                new MyMissionID[] { MyMissionID.REICHSTAG_C_WEAPONS},
                null,
                (uint)EntityID.Bot_TransporterCaptain,
                100,
                0.25f,
                null
               ) { SaveOnSuccess = true, FollowMe = false };
            m_objectives.Add(MeetTransporterCaptain);

            var TalkToTransporterCaptain = new MyObjectiveDialog(
                MyMissionID.REICHSTAG_C_TRANSPORTER_CAPTAIN_DIALOGUE,
                null,
                this,
                new MyMissionID[] { MyMissionID.REICHSTAG_C_GO_TO_HANGAR },
                dialogId: MyDialogueEnum.REICHSTAG_C_0900_TRANSPORTER_REACHED
                ) { SaveOnSuccess = true };
            m_objectives.Add(TalkToTransporterCaptain);

            var GetWWMothership = new MyObjective(
                 (MyTextsWrapperEnum.REICHSTAG_C_MOTHERSHIP_Name),
                 MyMissionID.REICHSTAG_C_MOTHERSHIP,
                 (MyTextsWrapperEnum.REICHSTAG_C_MOTHERSHIP_Description),
                 null,
                 this,
                 new MyMissionID[] { MyMissionID.REICHSTAG_C_TRANSPORTER_CAPTAIN_DIALOGUE },
                 new MyMissionLocation(baseSector, (uint)EntityID.Objective_Mothership),
                 radiusOverride: 30
             ) { HudName = MyTextsWrapperEnum.HudMothership };
            m_objectives.Add(GetWWMothership);
        }
        public MyPlaygroundMission()
        {
            ID = MyMissionID.PLAYGROUND; /* ID must be added to MyMissions.cs */
            DebugName = new StringBuilder("Playground");
            Name = MyTextsWrapperEnum.PLAYGROUND;
            Description = MyTextsWrapperEnum.EmptyDescription;
            Flags = MyMissionFlags.HiddenInSolarMap;

            MyMwcVector3Int baseSector = new MyMwcVector3Int(-85381496, 0, -85381496);

            Location = new MyMissionLocation(baseSector, 315);

            RequiredMissions = new MyMissionID[] { };

            m_objectives = new List<MyObjective>();


            var placeRadarMission = new MyUseObjective(
                new StringBuilder("Find a place for the alien radar"),
                MyMissionID.PLAYGROUND_SUBMISSION_01,
                new StringBuilder(""),
                null,
                this,
                new MyMissionID[] { },
                new MyMissionLocation(baseSector, (uint)1889),
                MyTextsWrapperEnum.PressToTakeTransmitter,
                MyTextsWrapperEnum.Transmitter,
                MyTextsWrapperEnum.TransferInProgress,
                10
            ) { SaveOnSuccess = false };
                    placeRadarMission.OnMissionSuccess += PlaceRadarSucces;

            m_objectives.Add(placeRadarMission);


            /*
            var playgroundSubmission = new MySubmission(
                new StringBuilder("Play around a little"),
                MyMissionID.PLAYGROUND_SUBMISSION_02,
                new StringBuilder(""),
                null,
                this,
                new MyMissionID[] { },
                new MyMissionLocation(baseSector, 831)
            );
            playgroundSubmission.OnMissionSuccess += PlaygroundSubmissionSubmissionSuccess;
            m_submissions.Add(playgroundSubmission);
            */
            /*
            m_cubeSubmission = new MySubmission(
                new StringBuilder("3D cubes"),
                MyMissionID.PLAYGROUND_SUBMISSION_02,
                new StringBuilder("Reach the exit. Enter every cube exactly once."),
                null,
                this,
                new MyMissionID[] { MyMissionID.PLAYGROUND_SUBMISSION_01 },
                null
            );
            m_submissions.Add(m_cubeSubmission);
            */
            m_subShakeAction = new MyTimerActionDelegate(SubShake);
            m_shakeAction = new MyTimerActionDelegate(FarExplosion);
        }