summaryrefslogtreecommitdiff
path: root/Penguloon/Scenes
diff options
context:
space:
mode:
Diffstat (limited to 'Penguloon/Scenes')
-rw-r--r--Penguloon/Scenes/LevelSelectionScene.cs6
-rw-r--r--Penguloon/Scenes/MenuScene.cs14
-rw-r--r--Penguloon/Scenes/StatsScene.cs69
3 files changed, 86 insertions, 3 deletions
diff --git a/Penguloon/Scenes/LevelSelectionScene.cs b/Penguloon/Scenes/LevelSelectionScene.cs
index 4df627c..dbc6601 100644
--- a/Penguloon/Scenes/LevelSelectionScene.cs
+++ b/Penguloon/Scenes/LevelSelectionScene.cs
@@ -13,11 +13,11 @@ namespace Penguloon.Scenes
public override void CreateControls()
{
- Button btnStart = new Button(this,
+ Button btnBack = new Button(this,
new Vector2(10, 10),
StaticUIValues.MenuButtonSize, Main.Resources.GetString(Resource.String.LevelSelectionBack));
- btnStart.OnClick += BtnStart_OnClick;
+ btnBack.OnClick += BtnStart_OnClick;
int levelSelectorPosY = (int)((StaticUIValues.ScreenViewport.Y - StaticUIValues.MenuButtonSize.Y) - StaticUIValues.LevelSelectorHeight);
@@ -25,7 +25,7 @@ namespace Penguloon.Scenes
new Vector2(0, levelSelectorPosY), new Vector2(StaticUIValues.ScreenViewport.X, StaticUIValues.LevelSelectorHeight));
Controls.Add(levelSelector);
- Controls.Add(btnStart);
+ Controls.Add(btnBack);
}
private void BtnStart_OnClick(object sender, ClickArgs e)
diff --git a/Penguloon/Scenes/MenuScene.cs b/Penguloon/Scenes/MenuScene.cs
index 24a260c..7957151 100644
--- a/Penguloon/Scenes/MenuScene.cs
+++ b/Penguloon/Scenes/MenuScene.cs
@@ -18,9 +18,23 @@ namespace Penguloon.Scenes
new Vector2((StaticUIValues.ScreenViewport.X - StaticUIValues.MenuButtonSize.X) / 2, 100),
StaticUIValues.MenuButtonSize, Main.Resources.GetString(Resource.String.MenuBtnPlay));
+ Button btnStats = new Button(this,
+ new Vector2((StaticUIValues.ScreenViewport.X - StaticUIValues.MenuButtonSize.X) / 2, 100 + StaticUIValues.MenuButtonSize.Y + 25),
+ StaticUIValues.MenuButtonSize, Main.Resources.GetString(Resource.String.MenuBtnStats));
+
btnStart.OnClick += BtnStart_OnClick;
+ btnStats.OnClick += BtnStats_OnClick;
Controls.Add(btnStart);
+ Controls.Add(btnStats);
+ }
+
+ private void BtnStats_OnClick(object sender, ClickArgs e)
+ {
+ if (SceneManager.StatsScene == null)
+ SceneManager.StatsScene = new StatsScene(Main);
+
+ SceneManager.SelectedScene = SelectedScene.Stats;
}
private void BtnStart_OnClick(object sender, ClickArgs e)
diff --git a/Penguloon/Scenes/StatsScene.cs b/Penguloon/Scenes/StatsScene.cs
new file mode 100644
index 0000000..21adf27
--- /dev/null
+++ b/Penguloon/Scenes/StatsScene.cs
@@ -0,0 +1,69 @@
+using System;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input.Touch;
+using Penguloon.Controls;
+
+namespace Penguloon.Scenes
+{
+ class StatsScene : SceneBase
+ {
+ public StatsScene(Main main) : base(main)
+ {
+
+ }
+
+ public override void CreateControls()
+ {
+ Button btnBack = new Button(this,
+ new Vector2(10, 10),
+ StaticUIValues.MenuButtonSize, Main.Resources.GetString(Resource.String.LevelSelectionBack));
+
+ btnBack.OnClick += BtnStart_OnClick;
+
+ Controls.Add(btnBack);
+ }
+
+ private void BtnStart_OnClick(object sender, ClickArgs e)
+ {
+ SceneManager.SelectedScene = SelectedScene.Menu;
+ }
+
+ public override void Draw(float deltaTime)
+ {
+ // background
+ Main.SpriteBatch.Draw(ContentManager.GetTexture("UI/background"),
+ destinationRectangle: new Rectangle(0, 0, (int)StaticUIValues.ScreenViewport.X, (int)StaticUIValues.ScreenViewport.Y));
+
+ DrawSnowflakes();
+
+ int borderHorizontalY = 10 + (int)StaticUIValues.MenuButtonSize.Y + 50;
+
+ //border top
+ Main.SpriteBatch.Draw(ContentManager.GetTexture("UI/border-horizontal"),
+ destinationRectangle: new Rectangle(50,
+ borderHorizontalY - 7, StaticUIValues.BorderWidth * 2, StaticUIValues.BorderWidth * 2));
+
+ //border bottom
+ Main.SpriteBatch.Draw(ContentManager.GetTexture("UI/border-horizontal"),
+ destinationRectangle: new Rectangle(50,
+ (int)StaticUIValues.ScreenViewport.Y - 50 - (StaticUIValues.BorderWidth * 2) + 7, StaticUIValues.BorderWidth * 2, StaticUIValues.BorderWidth * 2));
+
+ //border vertical
+ Main.SpriteBatch.Draw(ContentManager.GetTexture("UI/border"),
+ destinationRectangle: new Rectangle(50,
+ borderHorizontalY, StaticUIValues.BorderWidth * 2, (int)StaticUIValues.ScreenViewport.Y - (borderHorizontalY) - 50));
+
+ DrawStats(borderHorizontalY);
+
+ base.Draw(deltaTime);
+ }
+
+ private void DrawStats(int borderHorizontalY)
+ {
+ DrawText(ContentManager.GetFont(StaticUIValues.MenuFont), UserdataManager.TotalKills.ToString(),
+ new Vector2(120, borderHorizontalY),
+ new Vector2(0, 0),
+ TextAllignment.LeftTop, Color.White, Color.Black, 2);
+ }
+ }
+} \ No newline at end of file