protected override void OnCommitMission()
        {
            Kerberos.Sots.StarFleet.StarFleet.SetStrikeMission(this.App.Game, this.SelectedFleet, this.TargetSystem, this._useDirectRoute, 0, 0, this.GetDesignsToBuild());
            AdmiralInfo admiralInfo = this.App.GameDatabase.GetAdmiralInfo(this.App.GameDatabase.GetFleetInfo(this._selectedFleet).AdmiralID);

            if (admiralInfo != null)
            {
                this.App.PostRequestSpeech(string.Format("STRAT_006-01_{0}_{1}StrikeMissionConfirmation", (object)this.App.GameDatabase.GetFactionName(this.App.GameDatabase.GetPlayerFactionID(this.App.LocalPlayer.ID)), (object)admiralInfo.GetAdmiralSoundCueContext(this.App.AssetDatabase)), 50, 120, 0.0f);
            }
            this.App.GetGameState <StarMapState>().RefreshMission();
        }
Beispiel #2
0
 protected override void OnPanelMessage(string panelName, string msgType, string[] msgParams)
 {
     if (!(msgType == "button_clicked"))
     {
         return;
     }
     if (panelName == "btnOk")
     {
         if (this.mission != null)
         {
             FleetInfo fleetInfo = this._app.GameDatabase.GetFleetInfo(this.mission.FleetID);
             if (fleetInfo == null)
             {
                 this._app.GameDatabase.RemoveMission(this.mission.ID);
                 return;
             }
             AdmiralInfo admiralInfo = this._app.GameDatabase.GetAdmiralInfo(fleetInfo.AdmiralID);
             if (admiralInfo != null)
             {
                 this._app.PostRequestSpeech(string.Format("STRAT_009-01_{0}_{1}UniversalMissionComplete", (object)this._app.GameDatabase.GetFactionName(this._app.GameDatabase.GetPlayerFactionID(this._app.LocalPlayer.ID)), (object)admiralInfo.GetAdmiralSoundCueContext(this._app.AssetDatabase)), 50, 120, 0.0f);
             }
         }
         this._app.UI.CloseDialog((Dialog)this, true);
     }
     else
     {
         if (!(panelName == "btnSupport"))
         {
             return;
         }
         List <WaypointInfo> list = this._app.GameDatabase.GetWaypointsByMissionID(this.mission.ID).ToList <WaypointInfo>();
         foreach (WaypointInfo waypointInfo in list)
         {
             this._app.GameDatabase.RemoveWaypoint(waypointInfo.ID);
         }
         FleetInfo fleetInfo       = this._app.GameDatabase.GetFleetInfo(this.mission.FleetID);
         int       numSupportTrips = this._app.Game.GetNumSupportTrips(this.mission);
         for (int index = 0; index < numSupportTrips; ++index)
         {
             if (this.mission.TargetSystemID != fleetInfo.SupportingSystemID)
             {
                 this._app.GameDatabase.InsertWaypoint(this.mission.ID, WaypointType.TravelTo, new int?(this.mission.TargetSystemID));
             }
             this._app.GameDatabase.InsertWaypoint(this.mission.ID, WaypointType.DoMission, new int?());
             if (this.mission.TargetSystemID != fleetInfo.SupportingSystemID)
             {
                 this._app.GameDatabase.InsertWaypoint(this.mission.ID, WaypointType.ReturnHome, new int?());
             }
         }
         this._app.GameDatabase.InsertWaypoint(this.mission.ID, WaypointType.CheckSupportColony, new int?());
         foreach (WaypointInfo waypointInfo in list)
         {
             this._app.GameDatabase.InsertWaypoint(this.mission.ID, waypointInfo.Type, waypointInfo.SystemID);
         }
         this._app.UI.CloseDialog((Dialog)this, true);
     }
 }
        protected override void OnCommitMission()
        {
            if (this._selectedPlanetForInvasion == 0)
            {
                foreach (int starSystemPlanet in this.App.GameDatabase.GetStarSystemPlanets(this.TargetSystem))
                {
                    if (this.App.GameDatabase.CanInvadePlanet(this.App.LocalPlayer.ID, starSystemPlanet))
                    {
                        this._selectedPlanetForInvasion = starSystemPlanet;
                        break;
                    }
                }
            }
            if (this._selectedPlanetForInvasion == 0)
            {
                return;
            }
            Kerberos.Sots.StarFleet.StarFleet.SetInvasionMission(this.App.Game, this.SelectedFleet, this.TargetSystem, this._useDirectRoute, this._selectedPlanetForInvasion, this.GetDesignsToBuild());
            AdmiralInfo admiralInfo = this.App.GameDatabase.GetAdmiralInfo(this.App.GameDatabase.GetFleetInfo(this._selectedFleet).AdmiralID);

            if (admiralInfo != null)
            {
                this.App.PostRequestSpeech(string.Format("STRAT_010-01_{0}_{1}InvasionMissionConfirmation", (object)this.App.GameDatabase.GetFactionName(this.App.GameDatabase.GetPlayerFactionID(this.App.LocalPlayer.ID)), (object)admiralInfo.GetAdmiralSoundCueContext(this.App.AssetDatabase)), 50, 120, 0.0f);
            }
            this.App.GetGameState <StarMapState>().RefreshMission();
        }
Beispiel #4
0
        protected override void OnCommitMission()
        {
            if (this._selectedPlanetToEvacuate == 0)
            {
                double num1 = 0.0;
                foreach (int num2 in this.App.GameDatabase.GetStarSystemPlanets(this.TargetSystem).ToList <int>())
                {
                    ColonyInfo colonyInfoForPlanet = this.App.GameDatabase.GetColonyInfoForPlanet(num2);
                    if (colonyInfoForPlanet != null && colonyInfoForPlanet.PlayerID == this.App.LocalPlayer.ID)
                    {
                        double civilianPopulation = this.App.GameDatabase.GetCivilianPopulation(num2, 0, false);
                        if (civilianPopulation > num1)
                        {
                            this._selectedPlanetToEvacuate = num2;
                            num1 = civilianPopulation;
                        }
                    }
                }
            }
            if (this._selectedPlanetToEvacuate == 0)
            {
                return;
            }
            Kerberos.Sots.StarFleet.StarFleet.SetEvacuationMission(this.App.Game, this.SelectedFleet, this.TargetSystem, this._useDirectRoute, this._selectedPlanetToEvacuate, this.GetDesignsToBuild());
            AdmiralInfo admiralInfo = this.App.GameDatabase.GetAdmiralInfo(this.App.GameDatabase.GetFleetInfo(this._selectedFleet).AdmiralID);

            if (admiralInfo != null)
            {
                this.App.PostRequestSpeech(string.Format("STRAT_002-01_{0}_{1}EvacuationMissionConfirmation", (object)this.App.GameDatabase.GetFactionName(this.App.GameDatabase.GetPlayerFactionID(this.App.LocalPlayer.ID)), (object)admiralInfo.GetAdmiralSoundCueContext(this.App.AssetDatabase)), 50, 120, 0.0f);
            }
            FleetUI.SyncPlanetListControl(this.App.Game, this.App.UI.Path(this.ID, "overlayPlanetList"), this.GetMissionTargetPlanets());
            this.App.GetGameState <StarMapState>().RefreshStarmap(StarMapState.StarMapRefreshType.REFRESH_NORMAL);
        }
Beispiel #5
0
        public static void OnConstructionPlaced(
            GameSession sim,
            int selectedFleet,
            int targetSystem,
            bool useDirectRoute,
            int selectedPlanet,
            List <int> designsToBuild,
            StationType stationType,
            int?ReBaseTarget,
            bool AskForCompo)
        {
            if (selectedPlanet == 0)
            {
                return;
            }
            Kerberos.Sots.StarFleet.StarFleet.SetConstructionMission(sim, selectedFleet, targetSystem, useDirectRoute, selectedPlanet, designsToBuild, stationType, ReBaseTarget);
            FleetInfo   fleetInfo   = sim.GameDatabase.GetFleetInfo(selectedFleet);
            AdmiralInfo admiralInfo = sim.GameDatabase.GetAdmiralInfo(fleetInfo.AdmiralID);

            if (admiralInfo != null)
            {
                string cueName = string.Format("STRAT_007-01_{0}_{1}ConstructionMissionConfirmation", (object)sim.GameDatabase.GetFactionName(sim.GameDatabase.GetPlayerFactionID(sim.LocalPlayer.ID)), (object)admiralInfo.GetAdmiralSoundCueContext(sim.AssetDatabase));
                sim.App.PostRequestSpeech(cueName, 50, 120, 0.0f);
            }
            if (sim.LocalPlayer.Faction == sim.AssetDatabase.GetFaction("loa") && AskForCompo)
            {
                sim.UI.CreateDialog((Dialog) new DialogLoaFleetSelector(sim.App, MissionType.CONSTRUCT_STN, sim.GameDatabase.GetFleetInfo(selectedFleet), true), null);
            }
            sim.App.GetGameState <StarMapState>().RefreshMission();
        }
Beispiel #6
0
        public override void Initialize()
        {
            this._app.UI.SetEnabled(this._app.UI.Path(this.ID, ReactionDialog.UIConfirmButton), false);
            AdmiralInfo admiralInfo = this._app.GameDatabase.GetAdmiralInfo(this._currentReaction.fleet.AdmiralID);

            if (admiralInfo != null)
            {
                this._app.UI.SetText(this._app.UI.Path(this.ID, ReactionDialog.UIAdmiralLabel), admiralInfo.Name);
            }
            this._sky   = new Sky(this._app, SkyUsage.StarMap, 0);
            this._crits = new GameObjectSet(this._app);
            this._crits.Add((IGameObject)this._sky);
            this._cameraReduced                 = new OrbitCameraController(this._app);
            this._cameraReduced.MinDistance     = 2.5f;
            this._cameraReduced.MaxDistance     = 100f;
            this._cameraReduced.DesiredDistance = 50f;
            this._cameraReduced.DesiredYaw      = MathHelper.DegreesToRadians(45f);
            this._cameraReduced.DesiredPitch    = -MathHelper.DegreesToRadians(25f);
            this._cameraReduced.SnapToDesiredPosition();
            this._starmapReduced = new StarMap(this._app, this._app.Game, this._sky);
            this._starmapReduced.Initialize(this._crits);
            this._starmapReduced.SetCamera(this._cameraReduced);
            this._starmapReduced.FocusEnabled = false;
            this._starmapReduced.SetFocus((IGameObject)this._starmapReduced.Systems.Reverse[this._currentReaction.fleet.SystemID]);
            this._starmapReduced.Select((IGameObject)this._starmapReduced.Systems.Reverse[this._currentReaction.fleet.SystemID]);
            this._starmapReduced.SelectEnabled = false;
            this._starmapReduced.PostSetProp("MissionTarget", (object)this._starmapReduced.Systems.Reverse[this._currentReaction.fleet.SystemID].ObjectID, (object)true);
            this._starmapReduced.PostSetProp("CullCenter", this._app.GameDatabase.GetStarSystemInfo(this._currentReaction.fleet.SystemID).Origin);
            this._starmapReduced.PostSetProp("CullRadius", 15f);
            this._app.UI.Send((object)"SetGameObject", (object)this._app.UI.Path(this.ID, "gameStarMapViewport"), (object)this._starmapReduced.ObjectID);
            this._app.UI.SetVisible(this._app.UI.Path(this.ID, "gameStarMapViewport"), true);
            this._app.PostRequestSpeech(string.Format("STRAT_014-01_{0}_{1}AdmiralGetsReactionPhase", (object)this._app.GameDatabase.GetFactionName(this._app.GameDatabase.GetPlayerFactionID(this._app.LocalPlayer.ID)), (object)admiralInfo.GetAdmiralSoundCueContext(this._app.AssetDatabase)), 50, 120, 0.0f);
            this._crits.Activate();
        }
        protected override void OnCommitMission()
        {
            if (this.CaravanMode && this.CaravanFleet.HasValue)
            {
                this.SelectedFleet = this.CaravanFleet.Value;
            }
            if (this._app.LocalPlayer.Faction.Name == "loa")
            {
                Kerberos.Sots.StarFleet.StarFleet.ConvertFleetIntoLoaCubes(this._app.Game, this._selectedFleet);
                Kerberos.Sots.StarFleet.StarFleet.BuildFleetFromComposition(this._app.Game, this._selectedFleet, MissionType.NO_MISSION);
                this.RebuildShipLists(this.SelectedFleet);
            }
            Kerberos.Sots.StarFleet.StarFleet.SetRelocationMission(this.App.Game, this.SelectedFleet, this.TargetSystem, this._useDirectRoute, this.GetDesignsToBuild());
            FleetInfo   fleetInfo   = this.App.GameDatabase.GetFleetInfo(this._selectedFleet);
            AdmiralInfo admiralInfo = this.App.GameDatabase.GetAdmiralInfo(fleetInfo.AdmiralID);

            if (admiralInfo != null)
            {
                this.App.PostRequestSpeech(string.Format("STRAT_011-01_{0}_{1}TransferMissionConfirmation", (object)this.App.GameDatabase.GetFactionName(this.App.GameDatabase.GetPlayerFactionID(this.App.LocalPlayer.ID)), (object)admiralInfo.GetAdmiralSoundCueContext(this.App.AssetDatabase)), 50, 120, 0.0f);
            }
            if (this.CaravanMode && this.CaravanFleet.HasValue)
            {
                List <FreighterInfo> list = this.App.GameDatabase.GetFreighterInfosForSystem(fleetInfo.SystemID).Where <FreighterInfo>((Func <FreighterInfo, bool>)(x =>
                {
                    if (x.PlayerId == this.App.LocalPlayer.ID)
                    {
                        return(x.IsPlayerBuilt);
                    }
                    return(false);
                })).ToList <FreighterInfo>();
                foreach (ShipInfo shipInfo in this.App.GameDatabase.GetShipInfoByFleetID(this.CaravanFleet.Value, false).ToList <ShipInfo>())
                {
                    ShipInfo ship = shipInfo;
                    if (list.Any <FreighterInfo>((Func <FreighterInfo, bool>)(x => x.ShipId == ship.ID)))
                    {
                        this.App.GameDatabase.RemoveFreighterInfo(list.First <FreighterInfo>((Func <FreighterInfo, bool>)(x => x.ShipId == ship.ID)).ID);
                    }
                }
            }
            this.App.GetGameState <StarMapState>().RefreshMission();
            this.CaravanFleet = new int?();
            this.SelectedCaravanSourceSystem = new int?();
            if (this._fleetWidget.SyncedFleets != null)
            {
                this._fleetWidget.SetSyncedFleets(this._fleetWidget.SyncedFleets);
            }
            if (this._RelocatefleetWidget.SyncedFleets != null)
            {
                this._RelocatefleetWidget.SetSyncedFleets(this._RelocatefleetWidget.SyncedFleets);
            }
            this.EnterAssetRelocateMode(false);
        }
Beispiel #8
0
        protected override void OnCommitMission()
        {
            if (this._selectedPlanetForColonize == 0)
            {
                foreach (int starSystemPlanet in this.App.GameDatabase.GetStarSystemPlanets(this.TargetSystem))
                {
                    if (this.App.GameDatabase.CanColonizePlanet(this.App.LocalPlayer.ID, starSystemPlanet, this.App.GetStratModifier <int>(StratModifiers.MaxColonizableHazard, this.App.LocalPlayer.ID)))
                    {
                        this._selectedPlanetForColonize = starSystemPlanet;
                        break;
                    }
                }
            }
            if (this._selectedPlanetForColonize == 0)
            {
                return;
            }
            if (this._app.LocalPlayer.Faction.Name == "loa")
            {
                Kerberos.Sots.StarFleet.StarFleet.ConvertFleetIntoLoaCubes(this._app.Game, this._selectedFleet);
                Kerberos.Sots.StarFleet.StarFleet.BuildFleetFromComposition(this._app.Game, this._selectedFleet, MissionType.COLONIZATION);
                this.RebuildShipLists(this.SelectedFleet);
            }
            Kerberos.Sots.StarFleet.StarFleet.SetColonizationMission(this.App.Game, this.SelectedFleet, this.TargetSystem, this._useDirectRoute, this._selectedPlanetForColonize, this.GetDesignsToBuild(), this.RebaseTarget);
            AdmiralInfo admiralInfo = this.App.GameDatabase.GetAdmiralInfo(this.App.GameDatabase.GetFleetInfo(this._selectedFleet).AdmiralID);

            if (admiralInfo != null)
            {
                this.App.PostRequestSpeech(string.Format("STRAT_002-01_{0}_{1}ColonizationMissionConfirmation", (object)this.App.GameDatabase.GetFactionName(this.App.GameDatabase.GetPlayerFactionID(this.App.LocalPlayer.ID)), (object)admiralInfo.GetAdmiralSoundCueContext(this.App.AssetDatabase)), 50, 120, 0.0f);
            }
            FleetUI.SyncPlanetListControl(this.App.Game, this.App.UI.Path(this.ID, "overlayPlanetList"), this.GetMissionTargetPlanets());
            this.App.GetGameState <StarMapState>().RefreshMission();
        }
        public static void OnSpecialConstructionPlaced(
            GameSession sim,
            int selectedFleet,
            int targetFleet,
            bool useDirectRoute,
            List <int> designsToBuild,
            StationType stationType)
        {
            Kerberos.Sots.StarFleet.StarFleet.SetSpecialConstructionMission(sim, selectedFleet, targetFleet, useDirectRoute, designsToBuild, stationType);
            FleetInfo   fleetInfo   = sim.GameDatabase.GetFleetInfo(selectedFleet);
            AdmiralInfo admiralInfo = sim.GameDatabase.GetAdmiralInfo(fleetInfo.AdmiralID);

            if (admiralInfo != null)
            {
                string cueName = string.Format("STRAT_007-01_{0}_{1}ConstructionMissionConfirmation", (object)sim.GameDatabase.GetFactionName(sim.GameDatabase.GetPlayerFactionID(sim.LocalPlayer.ID)), (object)admiralInfo.GetAdmiralSoundCueContext(sim.AssetDatabase));
                sim.App.PostRequestSpeech(cueName, 50, 120, 0.0f);
            }
            sim.App.GetGameState <StarMapState>().RefreshStarmap(StarMapState.StarMapRefreshType.REFRESH_NORMAL);
        }