public MapChooserButton(Game game, Vector2 origin) : base(game) { DrawOrder = 100; _mapButtons = new Dictionary<Map, Button>(); var offsetX = origin.X + 24; foreach(var keyPair in _sandGame.MapManager.Maps) { var name = keyPair.Key; var map = keyPair.Value; var mapIcon = map.MapImage; var toolButton = new Button(game, new Vector2(offsetX, origin.Y), mapIcon, Color.White, Color.Black) { Padding = 6 }; toolButton.Width = 512 + (toolButton.Padding * 2); toolButton.Height = 512 + (toolButton.Padding * 2); toolButton.Y -= toolButton.Height / 2; toolButton.SetAction(ChooseTool, map); offsetX += toolButton.Width + 100; Children.Add(toolButton); _mapButtons.Add(map, toolButton); } ChooseTool(null, _mapButtons.Keys.First()); }
public WinDialog(Game game, string message, Button.Action action, object userInfo) : base(game) { DrawOrder = 10000; var sandGame = Game as Sand; const int margin = 5; Width = 725; Height = 200; var halfway = sandGame.BaseScreenSize / 2.0f; var background = new Billboard(Game, (int)halfway.X, (int)halfway.Y, (int)(Width + (margin * 2)), (int)(Height + (margin * 2)), Storage.Sprite("pixel")) { Color = Color.DarkGray, PositionGravity = Gravity.Center, DrawOrder = 9999 }; var foreground = new Billboard(Game, (int)halfway.X, (int)halfway.Y, (int)Width, (int)Height, Storage.Sprite("pixel")) { Color = new Color(0.2f, 0.2f, 0.2f), PositionGravity = Gravity.Center, DrawOrder = 10000 }; _label = new Label(Game, halfway.X, halfway.Y - 35, message, "Calibri48Bold") { PositionGravity = Gravity.Center, DrawOrder = 10001 }; var ready = new Button(Game, new Rectangle((int)halfway.X - 100, (int)halfway.Y + 15, 200, 50), "Ready", new Color(0.1f, 0.7f, 0.1f)) { PositionGravity = Gravity.Center, DrawOrder = 10001 }; ready.SetAction(action, userInfo); Children.Add(background); Children.Add(foreground); Children.Add(_label); Children.Add(ready); }
public PlayerClassButton(Game game, Vector2 origin, Class cls, Team team) : base(game) { _class = cls; _team = team; Button = new Button(game, origin, Teams.SpriteForClass(cls, ClassVariant.Large), Teams.ColorForTeam(team), Storage.Color("NeutralTeam")); if(team == Team.Red) { Label = new Label(game, origin.X - 25, origin.Y + (Button.Bounds.Height / 2.0f), "", "Calibri48Bold") { DrawOrder = 10000, PositionGravity = new Tuple<Gravity.Vertical, Gravity.Horizontal>(Gravity.Vertical.Center, Gravity.Horizontal.Right) }; } else { Label = new Label(game, origin.X + Button.Bounds.Width + 25, origin.Y + (Button.Bounds.Height / 2.0f), "", "Calibri48Bold") { DrawOrder = 10000, PositionGravity = new Tuple<Gravity.Vertical, Gravity.Horizontal>(Gravity.Vertical.Center, Gravity.Horizontal.Left) }; } Children.Add(Button); Children.Add(Label); }
public void WinPulse(Team team, Button.Action completedAction) { _winPulseTeam = team; _winPulseAnimation = new Animation(this, "PulseValue", 0.0f, 10.0f, Easing.EaseInOut, EasingType.Linear); _winPulseAnimationGroup = new AnimationGroup(_winPulseAnimation, 10000.0f) {Loops = true}; Storage.AnimationController.AddGroup(_winPulseAnimationGroup); }