private void Button_Click_1(object sender, Windows.UI.Xaml.RoutedEventArgs e) { Waypoint waypoint = InitDumpWaypoint(telemetry.gps_location.latitude + 0.00003, telemetry.gps_location.longitude, mission.waypoints[0].altitude, mission.waypoints[0].turnMode, mission.waypoints[0].heading, mission.waypoints[0].speed); mission.waypoints[0] = waypoint; LoadMission.Execute(null); }
private void HandleServerEventLoadMission(LoadMission message) { GameNetwork.MyPeer.IsSynchronized = false; this.CurrentIntermissionTimer = 0.0f; this.ClientIntermissionState = MultiplayerIntermissionState.Idle; Module.CurrentModule.StartMultiplayerGame(message.GameType, message.Map); }
public void Visit(LoadMission mission) { var stats = this.game.Derivates.Players.Of[fleet.Owner].DesignStats; //TODO(later) check if destination can give population if (fleet.Ships.Sum(x => x.PopulationTransport) < fleet.Ships.Sum(x => stats[x.Design].ColonizerPopulation * x.Quantity)) { this.remainingMissions.AddLast(mission); } }
//TODO(later) could pick up population in advance if visiting multiple systems and gets intercepted before loading //TODO(later) wouldn't move until fully loaded void IMissionVisitor.Visit(LoadMission mission) { var stats = this.game.Derivates[this.fleet.Owner].DesignStats; var capacity = this.fleet.Ships.Sum(x => stats[x.Design].ColonizerPopulation * x.Quantity); if (!this.game.States.Stars.At.Contains(this.fleet.Position)) { this.stay(); return; } var star = this.game.States.Stars.At[this.fleet.Position]; var stellaris = this.game.Derivates[this.game.States.Stellarises.At[star, this.fleet.Owner].First()]; var newFleet = this.localFleet(); var availableMigrants = stellaris.IsMigrants; foreach (var group in newFleet.Ships) { var embarked = Math.Min(stats[group.Design].ColonizerPopulation * group.Quantity - group.PopulationTransport, availableMigrants); group.PopulationTransport += embarked; availableMigrants -= embarked; } var totalEmbarked = stellaris.IsMigrants - availableMigrants; Methods.WeightedPointDealing(totalEmbarked, this.game.Derivates.Colonies.At[stellaris.Location, stellaris.Owner]. Select(colonyProc => new PointReceiver <ColonyProcessor>( colonyProc, 1 - colonyProc.Desirability, () => colonyProc.Colony.Population, x => colonyProc.Colony.Population -= x ))); stellaris.IsMigrants = availableMigrants; var endTime = this.time; if (newFleet.Ships.Sum(x => x.PopulationTransport) < capacity) { newFleet.Missions.AddFirst(new LoadMission()); endTime = 1; } this.movementSteps.Add(new FleetMovement( this.fleet, newFleet, this.time, endTime, new Vector2D() )); this.time = endTime; }
private void LoadMission_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { LoadMission.Execute(null); }
public void Visit(LoadMission mission) { //No operation }
void IMissionVisitor.Visit(LoadMission mission) { this.stop = true; this.destination = null; }