public void SetScenario( Scenario Scenario, UnitConfigurationRenderer UnitRenderer, FactionRenderer FactionRenderer) { _ScenarioDisplay.Clear(); foreach (ArmyConfiguration army in Scenario.ArmyConfigurations) { _ScenarioDisplay.Add( new Button("scenario-army-header") { DisplayedString = ObjectDescriber.Describe(army.Faction) }); var factionMount = new GuiContainer <GuiItem>("scenario-faction-mount"); Vector2f size = factionMount.Size - factionMount.LeftPadding * 2; var faction = new FactionView(army.Faction, FactionRenderer, Math.Min(size.X, size.Y)); faction.Position = .5f * (factionMount.Size - faction.Size) - factionMount.LeftPadding; factionMount.Add(faction); _ScenarioDisplay.Add(factionMount); foreach (DeploymentConfiguration deployment in army.DeploymentConfigurations) { _ScenarioDisplay.Add(new DeploymentRow(deployment, army.Faction, UnitRenderer)); } foreach (ObjectiveSuccessTrigger trigger in army.VictoryCondition.Triggers) { _ScenarioDisplay.Add(new VictoryConditionRow(trigger)); } } _DetailDisplay.Clear(); AddDetail("Environment", ObjectDescriber.Describe(Scenario.Environment)); AddDetail("Turns", Scenario.TurnConfiguration.Turns.ToString()); AddSequence("Deploy Order", Scenario.TurnConfiguration.DeploymentOrder, Scenario.ArmyConfigurations.ToArray()); AddSequence("Turn Order", Scenario.TurnConfiguration.TurnOrder, Scenario.ArmyConfigurations.ToArray()); AddDetail("Strength", Scenario.ArmyConfigurations.Select(i => DescribeStrength(i)).ToArray()); }
public VictoryConditionPane(Match Match, FactionRenderer FactionRenderer) : base("victory-condition-pane") { _CloseButton.Position = new Vector2f(Size.X - _CloseButton.Size.X - LeftPadding.X * 2, 0); _CloseButton.OnClick += HandleClose; _VictoryConditionDisplay.Position = new Vector2f(0, _CloseButton.Size.Y + 24); foreach (ArmyConfiguration army in Match.Scenario.ArmyConfigurations) { _VictoryConditionDisplay.Add( new Button("scenario-army-header") { DisplayedString = ObjectDescriber.Describe(army.Faction) }); var factionMount = new GuiContainer <GuiItem>("scenario-faction-mount"); Vector2f size = factionMount.Size - factionMount.LeftPadding * 2; var faction = new FactionView(army.Faction, FactionRenderer, Math.Min(size.X, size.Y)); faction.Position = .5f * (factionMount.Size - faction.Size) - factionMount.LeftPadding; factionMount.Add(faction); _VictoryConditionDisplay.Add(factionMount); foreach (ObjectiveSuccessTrigger trigger in army.VictoryCondition.Triggers) { _VictoryConditionDisplay.Add(new VictoryConditionRow(trigger)); } } Add(_CloseButton); Add(_VictoryConditionDisplay); }
public MatchEndArmyRow(Army Army, FactionRenderer FactionRenderer) : base("match-end-army-row") { _FactionView = new FactionView(Army.Configuration.Faction, FactionRenderer, 128) { Position = LeftPadding }; Add(new Button("match-end-army-header") { DisplayedString = ObjectDescriber.Describe(Army.Configuration.Faction) }); Add(new Button("match-end-army-success") { DisplayedString = ObjectDescriber.Describe(Army.GetObjectiveSuccessLevel()) }); }