public override void Init() { base.Init(); AddCurtain(); Player = new Player(Context, SkeletonPlayerAssignment.LeftSkeleton); Player.DrawHands = true; AddEntity(Player); var posX = 400; var posY = 235; var width = Assets.HighscoreBoard.Width / 2; var height = Assets.HighscoreBoard.Height / 2; var board = new SimpleGraphic(Assets.HighscoreBoard, (MainGame.Width / 2) - width / 2, (MainGame.Height / 2) - (height / 2) - 50, width, height); AddEntity(board); foreach (Score s in Scores.Take(3)) { var hi = new HighscoreItem(posX, posY, s); AddEntity(hi); posY += 145; } var menuSign = new MenuItem(Assets.SignMenu, (MainGame.Width / 2) - 100, (MainGame.Height) - 125, delegate() { Manager.SwitchScreen(new MenuScreen(Context)); }); AddEntity(menuSign); }
public void Message() { var posMenu = new Point(300, (MainGame.Height / 2) - 250); var posResume = new Point(MainGame.Width - 600, (MainGame.Height / 2) - 250); var mi = new MenuItem(Assets.SignMenu, posMenu.X, posMenu.Y, delegate() { Manager.SwitchScreen(new MenuScreen(Context)); }); AddEntity(mi); mi = new MenuItem(Assets.SignResume, posResume.X, posMenu.Y, delegate() { Manager.RemoveScreen(this); }); AddEntity(mi); }
public void EndGame(Player winner) { Manager.FadeInSong(Assets.WinSong, false, 0.8f); Actions.AddAction(new EndEquationInput(Input), true); foreach (DragableNumber num in Entities.Where(ent => ent.CollisionType == "number")) { Actions.AddAction(new TweenPositionTo(num, new Vector2(1300, -200), 1f, Linear.EaseIn), false); } for (int i = 0; i < 4; i++) { var hand = i < 2 ? winner.LeftHand : winner.RightHand; var balloon = new Balloon(100 * i, 0, 11); AddEntity(balloon); balloon.AttachTo(hand); } var posMenu = new Vector2(300, (MainGame.Height / 2) - 250); var menu = new MenuItem(Assets.SignMenu, -100, -300, delegate() { Manager.SwitchScreen(new MenuScreen(Context)); }); menu.Actions.AddAction(new TweenPositionTo(menu, posMenu, 2f, Back.EaseOut), true); AddEntity(menu); var posRestart = new Vector2(MainGame.Width - 600, (MainGame.Height / 2) - 250); var restart = new MenuItem(Assets.MenuSignRestart, MainGame.Width + 100, -300, delegate() { Manager.SwitchScreen(new VersusPlayerScreen(Context)); }); restart.Actions.AddAction(new TweenPositionTo(restart, posRestart, 2f, Back.EaseOut), true); AddEntity(restart); }
private void addButtons() { var posMenu = new Vector2(300, (MainGame.Height / 2) - 250); var menu = new MenuItem(Assets.SignMenu, -100, -300, delegate() { Manager.SwitchScreen(new MenuScreen(Context)); Manager.FadeInSong(Assets.MenuSong, true, 0.5f); }); menu.Actions.AddAction(new TweenPositionTo(menu, posMenu, 2f, Back.EaseOut), true); AddEntity(menu); var posRestart = new Vector2(MainGame.Width - 600, (MainGame.Height / 2) - 250); var restart = new MenuItem(Assets.MenuSignRestart, MainGame.Width + 100, -300, delegate() { Manager.SwitchScreen(new CoopPlayerScreen(Context)); Manager.FadeInSong(Assets.GameSong, true, 0.2f); }); restart.Actions.AddAction(new TweenPositionTo(restart, posRestart, 2f, Back.EaseOut), true); AddEntity(restart); var posHighscore = new Vector2(MainGame.Width - 250, (MainGame.Height / 2) - 200); var loadFrom = MainGame.CoopHighscoreDirectory; if (this.GetType() == typeof(SinglePlayerScreen)) loadFrom = MainGame.SingleHighscoreDirectory; var highscore = new MenuItem(Assets.SignHighscore, MainGame.Width + 100, -300, delegate() { Manager.SwitchScreen(new HighscoreScreen(Context, loadFrom)); Manager.FadeInSong(Assets.MenuSong, true, 0.2f); }); highscore.Actions.AddAction(new TweenPositionTo(highscore, posHighscore, 2f, Back.EaseOut), true); AddEntity(highscore); }
public void LoadMenu(Menu menu) { for (int i = 0; i < menu.Items.Count; i++) { var mi = menu.Items[i]; switch (i) { case 0: mi.Position = new Vector2((int)topLeftPosition.X - 600, (int)topLeftPosition.Y - 600); mi.RenderBalloons = true; if (i + 1 <= menu.Items.Count - 1) mi.RenderRopes = true; TopLeft = mi; TopLeft.Actions.AddAction(new TweenPositionTo(mi, topLeftPosition, 3f, Back.EaseOut), true); break; case 1: mi.Position = new Vector2((int)bottomLeftPosition.X - 600, (int)bottomLeftPosition.Y + 600); BottomLeft = mi; BottomLeft.Actions.AddAction(new TweenPositionTo(mi, bottomLeftPosition, 3f, Back.EaseOut), true); break; case 2: mi.Position = new Vector2((int)topRightPosition.X + 600, (int)topRightPosition.Y - 600); mi.RenderBalloons = true; if (i + 1 <= menu.Items.Count - 1) mi.RenderRopes = true; TopRight = mi; TopRight.Actions.AddAction(new TweenPositionTo(mi, topRightPosition, 3f, Back.EaseOut), true); break; case 3: mi.Position = new Vector2((int)bottomRightPosition.X + 600, (int)bottomRightPosition.Y + 600); BottomRight = mi; BottomRight.Actions.AddAction(new TweenPositionTo(mi, bottomRightPosition, 3f, Back.EaseOut), true); break; default: throw new ArgumentException("No more than 4 menu items allowed!"); } } AddEntity(menu); }
public void LoadOperatorMessageMenu() { RemoveEntity(MainMenu); var OperatorMessage = new Menu(); MenuItem Ok = new MenuItem(); var message = new MenuImage(Assets.MenuMessageNoOperatorChecked, 250, 100, new Point(825, 345), OnClick_Nothing); var background = new MenuImage(Assets.MenuPauseBackground, 0, 0, new Point(MainGame.Width, MainGame.Height), OnClick_Nothing); AddEntity(background); AddEntity(message); //Unschön, wie gehts anders? Ok = new MenuItem(Assets.MenuSignOk, 550, 500, delegate() { RemoveEntity(Ok); RemoveEntity(background); RemoveEntity(message); }); AddEntity(Ok); LoadMenu(OperatorMessage); }
public void AddItem(MenuItem item) { item.Menu = this; Items.Add(item); }
public void Pause() { State = PauseState.Default; Player = new Player(Context, SkeletonPlayerAssignment.LeftSkeleton); Player.DrawHands = true; AddEntity(Player); var posMenu = new Point(300, (MainGame.Height / 2) - 250); var posResume = new Point(MainGame.Width - 600, (MainGame.Height / 2) - 250); var mi = new MenuItem(Assets.SignMenu, posMenu.X, posMenu.Y, delegate() { Manager.SwitchScreen(new MenuScreen(Context)); }); AddEntity(mi); mi = new MenuItem(Assets.SignResume, posResume.X, posMenu.Y, delegate() { Manager.RemoveScreen(this); }); AddEntity(mi); }
public void WaitForPlayerCount(int count) { State = PauseState.WaitingForPlayers; Player = new Player(Context, SkeletonPlayerAssignment.LeftSkeleton); Player.DrawHands = true; AddEntity(Player); var mi = new MenuItem(Assets.SignMenu, MainGame.Width - 300, (MainGame.Height / 2) - 100, delegate() { Manager.SwitchScreen(new MenuScreen(Context)); }); AddEntity(mi); Actions.AddAction(new WaitForPlayerCount(count, Context), true); Actions.AddAction(new CallFunction(delegate() { State = PauseState.Countdown; }), true); }