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(); }
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(); }
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); }
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(); }
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); }
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); }