public Button(TextSprite text, Vector2 position, int type) { this.Layer = 0.99f; this.Position = position; this.Text = text; this._type = type; }
public Button(TextSprite text, Vector2 position, int type, float layer) { this.Position = position; this.Text = text; this._type = type; this.Layer = layer; }
internal static void CreditsOn() { Button.ButtonList = new List <Button>(); TextSprite.TextList = new List <TextSprite>(); LevelButton.lvButtonList = new List <LevelButton>(); int currentX = 100; TextSprite.TextList.Add(new TextSprite("Credits", "Large", new Vector2(currentX, 78f), Color.Yellow)); int currentY = 120; int stepY = 40; TextSprite.TextList.Add(new TextSprite("Programming: Eoin Flanagan", "Medium", new Vector2(currentX, currentY), Color.White)); currentY += stepY; TextSprite.TextList.Add(new TextSprite("Art: Eoin Flanagan", "Medium", new Vector2(currentX, currentY), Color.White)); currentY += stepY; TextSprite.TextList.Add(new TextSprite("Music: https://www.bensound.com", "Medium", new Vector2(currentX, currentY), Color.White)); currentY += stepY; TextSprite.TextList.Add(new TextSprite("Sound Effects: Eoin Flanagan", "Medium", new Vector2(currentX, currentY), Color.White)); currentY += stepY; TextSprite.TextList.Add(new TextSprite("Level Design: Eoin Flanagan", "Medium", new Vector2(currentX, currentY), Color.White)); TextSprite ts = new TextSprite("Main Menu", "Medium", new Vector2(225f, 503f), Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(100f, 500f), 1)); }
internal static void GameCompleteOn() { Button.ButtonList = new List <Button>(); TextSprite.TextList = new List <TextSprite>(); LevelButton.lvButtonList = new List <LevelButton>(); SaveFile.LoadSaveFiles(); TextSprite.TextList.Add(new TextSprite("After all your efforts. You finally made it...", "Medium", new Vector2(50, 78f), Color.White)); TextSprite.TextList.Add(new TextSprite("Pint paradise!", "Large", new Vector2(50, 108f), Color.Yellow)); TextSprite ts = new TextSprite("Main Menu", "Medium", new Vector2(225f, 503f), Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(100f, 500f), 1)); string coastersCollected = SaveFile.SaveData.TotalMainCoasters().ToString(); float extraOffset = 0; if (coastersCollected.Length == 2) { extraOffset = 10f; } TextSprite.TextList.Add(new TextSprite("You collected", "Medium", new Vector2(50f, 410f), Color.White)); TextSprite.TextList.Add(new TextSprite(coastersCollected, "Medium", new Vector2(185f, 410f), Color.Yellow)); TextSprite.TextList.Add(new TextSprite("of", "Medium", new Vector2(205f + extraOffset, 410f), Color.White)); TextSprite.TextList.Add(new TextSprite("72", "Medium", new Vector2(230f + extraOffset, 410f), Color.Yellow)); TextSprite.TextList.Add(new TextSprite("coasters!", "Medium", new Vector2(260f + extraOffset, 410f), Color.White)); TextSprite.TextList.Add(new TextSprite("Go back through old levels to find em all!", "Medium", new Vector2(50f, 440f), Color.White)); }
public TextInput(string labelText, Vector2 labelPosition, TextSprite textSprite, Vector2 position) { this.label = new TextSprite(labelText, "Tiny", labelPosition, Color.White); this.position = position; this.textSprite = textSprite; this.Text = this.textSprite.Text.Substring(0, this.textSprite.Text.Length - 1); }
public static void Unpause() { MediaPlayer.Resume(); Label = null; TextSprite.TextList = null; Button.ButtonList = null; ScreenManager.Paused = false; ScreenManager.Ingame = true; }
public static void Activate() { if (!ScreenManager.Mainmenu) { Sounds.PlayBGM("bensound-pianomoment"); } PPlayer.CurrentCheckpoint = -1; if (!ScreenManager.Mainmenu) { FallingObject.ObjectList = new List <FallingObject>(); } ScreenManager.NoMode(); ScreenManager.Mainmenu = true; Level.Offset = Vector2.Zero; TextSprite.TextList = new List <TextSprite>(); Button.ButtonList = new List <Button>(); Editor.SelectedEntity = -1; Editor.MovingEntity = false; Editor.LabelList = null; int currentY = 143; LevelButton.lvButtonList = new List <LevelButton>(); string newOrContinueText = "New Game"; if (SaveFile.SaveFileExists()) { newOrContinueText = "Continue"; } TextSprite ts = new TextSprite(newOrContinueText, "Medium", new Vector2(332f, currentY), Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(308f, currentY - 3), 1)); currentY += 70; ts = new TextSprite("Play Custom", "Medium", new Vector2(330f, currentY), Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(308f, currentY - 3), 1)); currentY += 70; ts = new TextSprite("Editor", "Medium", new Vector2(365f, currentY), Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(308f, currentY - 3), 1)); currentY += 70; ts = new TextSprite("Stats", "Medium", new Vector2(332f, currentY), Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(308f, currentY - 3), 1)); currentY += 70; ts = new TextSprite("Credits", "Medium", new Vector2(365f, currentY), Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(308f, currentY - 3), 1)); currentY += 70; ts = new TextSprite("Exit", "Medium", new Vector2(375f, currentY), Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(308f, currentY - 3), 1)); }
private static void DrawButtonsAndLabels(SpriteBatch spriteBatch) { if (TextInput.TextInputList != null) { foreach (TextInput input in TextInput.TextInputList) { input.Draw(spriteBatch); } } TextSprite.DrawAll(spriteBatch); foreach (TextSprite ts in LabelList) { spriteBatch.DrawString(ts.Spritefont, ts.Text, ts.Position, ts.Colour, 0f, Vector2.Zero, 1f, 0, 0.999f); } Button.DrawAll(spriteBatch); }
public static void Draw(SpriteBatch spriteBatch) { if (ScreenManager.Mainmenu || ScreenManager.Levelselect) { if (ScreenManager.Credits) { spriteBatch.Draw(Textures.GetTexture("SkyB"), Vector2.Zero, null, Color.White, 0f, Vector2.Zero, 2f, 0, 0.8f); } else { spriteBatch.Draw(Textures.GetTexture("SkyA"), Vector2.Zero, null, Color.White, 0f, Vector2.Zero, 2f, 0, 0.8f); } spriteBatch.Draw(Textures.GetTexture("Cursor"), new Vector2((float)InputManager.Mousestate[0].X, (float)InputManager.Mousestate[0].Y), null, Color.White, 0f, Vector2.Zero, 1f, 0, 1f); Button.DrawAll(spriteBatch); LevelButton.DrawAll(spriteBatch); TextSprite.DrawAll(spriteBatch); FallingObject.DrawAll(spriteBatch); } }
public static void Reload_MoveButtonsandLabels() { TextSprite.TextList.Add(new TextSprite("Job: ", "Tiny", new Vector2(550, 20), Color.White)); TextSprite.TextList.Add(new TextSprite("Start Direction: ", "Tiny", new Vector2(550, 60), Color.White)); TextSprite.TextList.Add(new TextSprite("Checkpoint born: ", "Tiny", new Vector2(550, 100), Color.White)); TextSprite.TextList.Add(new TextSprite("Checkpoint die:", "Tiny", new Vector2(550, 140), Color.White)); TextSprite.TextList.Add(new TextSprite("Start Delay:", "Tiny", new Vector2(550, 180), Color.White)); TextSprite ts = new TextSprite("+", "Small", new Vector2(740, 20), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(740, 20), 5)); ts = new TextSprite("-", "Small", new Vector2(760, 20), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(760, 20), 5)); ts = new TextSprite("+", "Small", new Vector2(740, 60), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(740, 60), 5)); ts = new TextSprite("-", "Small", new Vector2(760, 60), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(760, 60), 5)); ts = new TextSprite("+", "Small", new Vector2(740, 100), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(740, 100), 5)); ts = new TextSprite("-", "Small", new Vector2(760, 100), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(760, 100), 5)); ts = new TextSprite("+", "Small", new Vector2(740, 140), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(740, 140), 5)); ts = new TextSprite("-", "Small", new Vector2(760, 140), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(760, 140), 5)); ts = new TextSprite("+", "Small", new Vector2(740, 180), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(740, 180), 5)); ts = new TextSprite("-", "Small", new Vector2(760, 180), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(760, 180), 5)); ts = new TextSprite("Move", "Medium", Vector2.Zero, Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(650, 220), 4)); }
internal static void StatsOn() { Button.ButtonList = new List <Button>(); TextSprite.TextList = new List <TextSprite>(); LevelButton.lvButtonList = new List <LevelButton>(); if (SaveFile.SaveFileExists()) { SaveFile.LoadSaveFiles(); TextSprite.TextList.Add(new TextSprite("Game Completion: " + SaveFile.GetPercentage() + "%", "Medium", new Vector2(175f, 70f), Color.Black)); TextSprite.TextList.Add(new TextSprite("Levels Completed: " + SaveFile.SaveData.LevelsCompleted + "/" + Level.maxLevels, "Medium", new Vector2(175f, 110f), Color.Black)); TextSprite.TextList.Add(new TextSprite("Coasters Collected: " + SaveFile.SaveData.TotalMainCoasters() + "/" + Level.maxLevels * 3, "Medium", new Vector2(175f, 150f), Color.Black)); } else { TextSprite.TextList.Add(new TextSprite("Start a new game to see stats", "Medium", new Vector2(275f, 70f), Color.Black)); } TextSprite ts = new TextSprite("Main Menu", "Medium", new Vector2(225f, 503f), Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(100f, 500f), 1)); }
private static void Load_Labels() { Label = new TextSprite("Game Paused", "Large", new Vector2((800 - Textures.GetFont("Large").MeasureString("Game Paused").X) / 2f, 100), Color.White); }
private static void DrawButtons_Labels(SpriteBatch spriteBatch) { Button.DrawAll(spriteBatch); TextSprite.DrawAll(spriteBatch); spriteBatch.DrawString(Label.Spritefont, Label.Text, Label.Position, Label.Colour, 0f, Vector2.Zero, 1f, 0, 0.95f); }
public static void Entity_ClickCheck() { for (int i = 0; i < Entity.EntityList.Count; i++) { if (Entity.EntityList[i] != null) { if (MouseClick.Rect.Intersects(new Rectangle((int)(Entity.EntityList[i].sqobject.Position.X + Level.Offset.X), (int)(Entity.EntityList[i].sqobject.Position.Y + Level.Offset.Y), (int)(Entity.EntityList[i].sqobject.Texture.Width * Entity.EntityList[i].sqobject.Size), (int)(Entity.EntityList[i].sqobject.Texture.Height * Entity.EntityList[i].sqobject.Size)))) { SelectedEntity = i; MovingEntity = false; Editor.LabelList = new List <TextSprite>(); TextSprite.TextList = new List <TextSprite>(); Button.ButtonList = new List <Button>(); TextSprite.TextList.Add(new TextSprite("Job:", "Tiny", new Vector2(550, 20), Color.White)); TextSprite.TextList.Add(new TextSprite("Start Direction:", "Tiny", new Vector2(550, 60), Color.White)); TextSprite.TextList.Add(new TextSprite("Checkpoint born:", "Tiny", new Vector2(550, 100), Color.White)); TextSprite.TextList.Add(new TextSprite("Checkpoint die:", "Tiny", new Vector2(550, 140), Color.White)); TextSprite.TextList.Add(new TextSprite("Start Delay:", "Tiny", new Vector2(550, 180), Color.White)); LabelList.Add(new TextSprite(Entity.EntityList[i].Job.Substring(1), "Tiny", new Vector2(650, 20), Color.White)); LabelList.Add(new TextSprite(GetDirection(Entity.EntityList[i]), "Tiny", new Vector2(650, 60), Color.White)); LabelList.Add(new TextSprite(Entity.EntityList[i].StartCheckpoint.ToString(), "Tiny", new Vector2(650, 100), Color.White)); LabelList.Add(new TextSprite(Entity.EntityList[i].EndCheckpoint.ToString(), "Tiny", new Vector2(650, 140), Color.White)); LabelList.Add(new TextSprite(Entity.EntityList[i].StartDelay.ToString(), "Tiny", new Vector2(650, 180), Color.White)); TextSprite ts = new TextSprite("+", "Small", new Vector2(740, 20), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(740, 20), 5)); ts = new TextSprite("-", "Small", new Vector2(760, 20), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(760, 20), 5)); ts = new TextSprite("+", "Small", new Vector2(740, 60), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(740, 60), 5)); ts = new TextSprite("-", "Small", new Vector2(760, 60), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(760, 60), 5)); ts = new TextSprite("+", "Small", new Vector2(740, 100), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(740, 100), 5)); ts = new TextSprite("-", "Small", new Vector2(760, 100), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(760, 100), 5)); ts = new TextSprite("+", "Small", new Vector2(740, 140), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(740, 140), 5)); ts = new TextSprite("-", "Small", new Vector2(760, 140), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(760, 140), 5)); ts = new TextSprite("+", "Small", new Vector2(740, 180), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(740, 180), 5)); ts = new TextSprite("-", "Small", new Vector2(760, 180), Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(760, 180), 5)); ts = new TextSprite("Move", "Medium", Vector2.Zero, Color.Red); Button.ButtonList.Add(new Button(ts, new Vector2(650, 220), 4)); return; } } } if (SelectedEntity > -1 && MovingEntity) { SquareObject sq = Entity.EntityList[SelectedEntity].sqobject; Entity.EntityList[SelectedEntity].sqobject.Position = new Vector2(InputManager.Mousestate[0].X - (sq.Texture.Width * sq.Size), InputManager.Mousestate[0].Y - (sq.Texture.Height * sq.Size)) - Level.Offset; MovingEntity = false; return; } if (LabelList != null) { bool ButtonClicked = false; for (int i = 0; i < Button.ButtonList.Count; i++) { if (Button.ButtonList[i].Rect.Intersects(MouseClick.Rect)) { ButtonClicked = true; } } if (!ButtonClicked) { SelectedEntity = -1; MovingEntity = false; LabelList = null; Button.ButtonList = new List <Button>(); TextSprite.TextList = new List <TextSprite>(); } } }
public static void Init() { titleLabel = new TextSprite("", "Medium", BackgroundPosition + new Vector2(15, 5), Color.White); descriptionLabel = new TextSprite("", "Small", BackgroundPosition + new Vector2(15, 35), Color.White); }
public static void LevelSelectOn() { //int i; //int j; LevelButton.CurrentGroup = 0; TextSprite.TextList = new List <TextSprite>(); Button.ButtonList = new List <Button>(); LevelButton.lvButtonList = new List <LevelButton>(); TextSprite ts = new TextSprite("Main Menu", "Medium", Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(525f, 25f), 1)); ts = new TextSprite("Next", "Medium", Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(565f, 550f), 1)); ts = new TextSprite("Previous", "Medium", Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(40f, 550f), 1)); if (!ScreenManager.Custom && !ScreenManager.Editing) { ts = new TextSprite("Erase Save Data", "Medium", Color.White); Button.ButtonList.Add(new Button(ts, new Vector2(40f, 25f), 1)); } Button.ButtonList[2].Active = false; if (!ScreenManager.Editing && !ScreenManager.Custom) { SaveFile.LoadSaveFiles(); for (int j = 0; j < Level.maxLevels / 3; j++) { for (int i = 0; i < 3; i++) { int levelIndex = (j * 3) + i; int collected = 0; for (int h = 0; h < SaveFile.SaveData.MainCoastersCollected[levelIndex].Length; h++) { if (SaveFile.SaveData.MainCoastersCollected[levelIndex][h]) { collected++; } } string status = "Locked"; if (SaveFile.SaveData.LevelsCompleted > (levelIndex)) { if (collected == 3) { status = "Complete"; } else { status = "Unlocked"; } } if (SaveFile.SaveData.LevelsCompleted == (levelIndex)) { status = "Unlocked"; } LevelButton.lvButtonList.Add(new LevelButton(levelIndex + 1, new Vector2((float)((220 * (i % 3)) + 80), (float)((220 * (j % 2)) + 0x69)), status, collected)); } } } else { if (!Directory.Exists(LevelSaver.CustomLevelsPath)) { Directory.CreateDirectory(LevelSaver.CustomLevelsPath); string[] premadeCustoms = Directory.GetDirectories(@"Content\Levels\Custom"); foreach (string custom in premadeCustoms) { string[] parts = custom.Split('\\'); string customName = parts[parts.Length - 1]; Directory.CreateDirectory(LevelSaver.CustomLevelsPath + customName); if (File.Exists(custom + "\\LevelData.xml")) { File.Copy(custom + "\\LevelData.xml", LevelSaver.CustomLevelsPath + customName + "\\LevelData.xml", true); } if (File.Exists(custom + "\\Thumbnail.png")) { File.Copy(custom + "\\Thumbnail.png", LevelSaver.CustomLevelsPath + customName + "\\Thumbnail.png", true); } } } SteamIntegration.LoadWorkshopLevels(); //Load custom levels here String[] levels = Directory.GetDirectories(LevelSaver.CustomLevelsPath); int levelIndex = 0; Texture2D thumbnail; for (int j = 0; j < Math.Ceiling(levels.Length / 3f); j++) { for (int i = 0; i < 3; i++) { while (levelIndex < levels.Length && !File.Exists(levels[levelIndex] + "/LevelData.xml")) { // Delete folders that don't contain a level Directory.Delete(levels[levelIndex], true); levelIndex++; } if (levelIndex < levels.Length) { if (File.Exists(levels[levelIndex] + "/Thumbnail.png")) { FileStream filestream = new FileStream(levels[levelIndex] + "/Thumbnail.png", FileMode.Open); thumbnail = Texture2D.FromStream(MainMethod.device, filestream, 160, 120, true); filestream.Close(); } else { thumbnail = Textures.GetCustomThumbnail(); } LevelButton.lvButtonList.Add(new CustomLevelButton(levels[levelIndex], new Vector2((float)((220 * (i % 3)) + 80), (float)((220 * (j % 2)) + 0x69)), thumbnail)); levelIndex++; } } } int x = (LevelButton.lvButtonList.Count) % 3; int y = (int)Math.Floor((LevelButton.lvButtonList.Count) / 3f) % 2; int levelSuffix = LevelButton.lvButtonList.Count; string name = ""; do { levelSuffix++; name = "Untitled" + levelSuffix; } while (LevelButton.lvButtonList.Exists(item => (item as CustomLevelButton).Name == name)); LevelButton.lvButtonList.Add(new NewLevelButton(name, new Vector2((float)((220 * (x % 3)) + 80), (float)((220 * (y % 2)) + 0x69)))); } if (LevelButton.lvButtonList.Count < 7) { Button.ButtonList[1].Active = false; } }