A Scenario is an abstract C# class compiled with the game: Generate picks the galaxy through GalaxyStage (Main or Prelude, at the scenario's seed, the background noise drawn from the same seed), Stage places the run's first entities through ScenarioStage (Fit, Bare, Generated, Preset, Player, Place, Cargo), which collects named failures and admits nothing. RunStart generates the galaxy, the arena under Ambient and admits everything through Zone.Admit, all or nothing. The aetheria.scenario record, ScenarioShip, ScenarioEntity, RunStart.Check and the null-scenario branch are cut. New Game opens a submenu: Tutorial Galaxy and Main Galaxy, then (editor and development builds) Djinni Shakedown, Starved Reactor, Arcs, Duel, Launcher Angles and Long Haul, each with its brief. MainMenu.Launch is the one way into a new run; ActionGameManager.PendingScenario carries the scenario to StartGame once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
13 lines
565 B
C#
13 lines
565 B
C#
using float2 = CultMath.float2;
|
|
|
|
// The full galaxy: factions drawn from the catalog, bosses on the road to the exit, entered in the starting hull.
|
|
public sealed class MainGalaxy : Scenario
|
|
{
|
|
public override string Name => "Main Galaxy";
|
|
public override string Brief => "The full galaxy: factions drawn at random, bosses guarding the road to the exit.";
|
|
|
|
public override Galaxy Generate(GalaxyStage stage) => stage.Main();
|
|
|
|
public override void Stage(ScenarioStage stage) =>
|
|
stage.Player(stage.Generated(stage.StartingHull), float2.zero);
|
|
}
|