public override DeploymentPage MakePage(DeploymentPane Pane, UnitConfigurationRenderer Renderer) { _DeploymentPage = new ConvoyDeploymentPage(_Deployment, Renderer, Pane); _DeploymentPage.OnLoadAction += HandleLoad; _DeploymentPage.OnUnloadAction += HandleUnload; return(_DeploymentPage); }
public ConvoyDeploymentPage( ConvoyDeployment Deployment, UnitConfigurationRenderer Renderer, DeploymentPane Pane) { _Deployment = Deployment; _Renderer = Renderer; _MoveUpButton.OnClick += HandleMoveUp; _MoveDownButton.OnClick += HandleMoveDown; _LoadButton.OnClick += HandleLoadButton; _UnloadButton.OnClick += HandleUnloadButton; _Selection = new ValuedScrollCollection <SingularUnitSelectionOption, StackView>("deployment-select"); var units = Deployment.Units.ToList(); units.Sort(new FluentComparator <Unit>(i => i.Configuration.IsVehicle) .ThenCompare(i => i.Configuration.IsArmored) .ThenCompare(i => i.Configuration.UnitClass != UnitClass.TRANSPORT) .ThenCompare(i => i.Configuration.Movement) .Invert()); foreach (Unit u in units) { u.OnLoad += HandleLoad; u.OnUnload += HandleUnload; var option = new SingularUnitSelectionOption("deployment-selection-option", u, _Renderer); _Selection.Add(option); } _Selection.Position = new Vector2f(0, 48); _LoadButton.Position = new Vector2f(0, Pane.Size.Y - _LoadButton.Size.Y - 32); _UnloadButton.Position = new Vector2f(_LoadButton.Size.X + 8, Pane.Size.Y - _UnloadButton.Size.Y - 32); _MoveUpButton.Position = new Vector2f(0, Pane.Size.Y - _LoadButton.Size.Y - _MoveUpButton.Size.Y - 36); _MoveDownButton.Position = new Vector2f( _MoveUpButton.Size.X + 8, Pane.Size.Y - _UnloadButton.Size.Y - _MoveDownButton.Size.Y - 36); Add(_Selection); Add(_LoadButton); Add(_UnloadButton); Add(_MoveUpButton); Add(_MoveDownButton); }
public override void Begin() { base.Begin(); _DeploymentPane = new DeploymentPane(); _DeploymentPane.OnDeploymentSelected += HandleDeploymentSelected; _DeploymentMicrocontrollers.Clear(); foreach (Deployment d in _Controller.CurrentTurn.Army.Deployments) { DeploymentMicrocontroller c; if (d is PositionalDeployment) { c = new PositionalDeploymentMicrocontroller( _Controller, (PositionalDeployment)d); } else { c = new ConvoyDeploymentMicrocontroller(_Controller, (ConvoyDeployment)d); } _DeploymentMicrocontrollers.Add(d, c); _DeploymentPane.AddPage(c.MakePage(_DeploymentPane, _Controller.UnitConfigurationRenderer)); } _Controller.AddPane(_DeploymentPane); }
public override DeploymentPage MakePage(DeploymentPane Pane, UnitConfigurationRenderer Renderer) { _DeploymentPage = new PositionalDeploymentPage(_Deployment, Renderer); _DeploymentPage.OnSelectedStack += HighlightDeploymentArea; return(_DeploymentPage); }