summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraldrikboy <aldrikboy@gmail.com>2018-01-18 11:04:53 +0100
committeraldrikboy <aldrikboy@gmail.com>2018-01-18 11:04:53 +0100
commit2cb22a74aed80e2cce68f16b0821a690c7c05b7a (patch)
tree6a7a254662ebf795358d971f271e7a7f41484bb6
parentaa6972a5d052d1f57dfda3dadb79fcd5d8ded30b (diff)
new levels, auto round start
-rw-r--r--Penguloon/Content/Content.mgcb144
-rw-r--r--Penguloon/Content/SplashArt/6.pngbin0 -> 91998 bytes
-rw-r--r--Penguloon/Content/SplashArt/7.pngbin0 -> 42196 bytes
-rw-r--r--Penguloon/Content/SplashArt/8.pngbin0 -> 35431 bytes
-rw-r--r--Penguloon/Content/Tiles/space.pngbin0 -> 458 bytes
-rw-r--r--Penguloon/Content/Tiles/spaceCornerLeftDown.pngbin0 -> 432 bytes
-rw-r--r--Penguloon/Content/Tiles/spaceCornerLeftTop.pngbin0 -> 430 bytes
-rw-r--r--Penguloon/Content/Tiles/spaceCornerRightDown.pngbin0 -> 421 bytes
-rw-r--r--Penguloon/Content/Tiles/spaceCornerRightTop.pngbin0 -> 427 bytes
-rw-r--r--Penguloon/Content/Tiles/spaceHorizontal.pngbin0 -> 487 bytes
-rw-r--r--Penguloon/Content/Tiles/spaceVertical.pngbin0 -> 395 bytes
-rw-r--r--Penguloon/Content/UI/checkbox-empty.pngbin0 -> 1703 bytes
-rw-r--r--Penguloon/Content/UI/checkbox-selected.pngbin0 -> 4239 bytes
-rw-r--r--Penguloon/Content/UI/sand.pngbin946 -> 0 bytes
-rw-r--r--Penguloon/Content/UI/sandCornerLeftDown.pngbin470 -> 0 bytes
-rw-r--r--Penguloon/Content/UI/sandCornerLeftTop.pngbin538 -> 0 bytes
-rw-r--r--Penguloon/Content/UI/sandCornerRightDown.pngbin453 -> 0 bytes
-rw-r--r--Penguloon/Content/UI/sandCornerRightTop.pngbin554 -> 0 bytes
-rw-r--r--Penguloon/Content/UI/sandHorizontal.pngbin484 -> 0 bytes
-rw-r--r--Penguloon/Content/UI/sandVertical.pngbin512 -> 0 bytes
-rw-r--r--Penguloon/ContentManager.cs23
-rw-r--r--Penguloon/ContentPathManager.cs13
-rw-r--r--Penguloon/Controls/Checkbox.cs44
-rw-r--r--Penguloon/Controls/IngameOptions.cs27
-rw-r--r--Penguloon/Controls/LevelSelector.cs4
-rw-r--r--Penguloon/Enums.cs3
-rw-r--r--Penguloon/Levels/IceLevel.cs2
-rw-r--r--Penguloon/Levels/IceLevel3.cs2
-rw-r--r--Penguloon/Levels/LevelBase.cs13
-rw-r--r--Penguloon/Levels/Map.cs2
-rw-r--r--Penguloon/Levels/SandLevel2.cs2
-rw-r--r--Penguloon/Levels/SandLevel3.cs89
-rw-r--r--Penguloon/Levels/SpaceLevel1.cs89
-rw-r--r--Penguloon/Levels/SpaceLevel2.cs89
-rw-r--r--Penguloon/Levels/WaveManager.cs11
-rw-r--r--Penguloon/Objects/CannonObject.cs2
-rw-r--r--Penguloon/Penguloon.csproj4
-rw-r--r--Penguloon/Projectiles/CannonballProjectile.cs4
-rw-r--r--Penguloon/Resources/Drawable/Icon.pngbin4266 -> 6107 bytes
-rw-r--r--Penguloon/Resources/Resource.Designer.cs55
-rw-r--r--Penguloon/Resources/Values/Strings.xml3
-rw-r--r--Penguloon/Scenes/MenuScene.cs2
42 files changed, 586 insertions, 41 deletions
diff --git a/Penguloon/Content/Content.mgcb b/Penguloon/Content/Content.mgcb
index 36eaa5e..09b34a0 100644
--- a/Penguloon/Content/Content.mgcb
+++ b/Penguloon/Content/Content.mgcb
@@ -1027,3 +1027,147 @@
/processorParam:TextureFormat=Color
/build:UI/circle.png
+#begin UI/checkbox-empty.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:UI/checkbox-empty.png
+
+#begin UI/checkbox-selected.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:UI/checkbox-selected.png
+
+#begin SplashArt/6.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:SplashArt/6.png
+
+#begin Tiles/space.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:Tiles/space.png
+
+#begin Tiles/spaceCornerLeftDown.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:Tiles/spaceCornerLeftDown.png
+
+#begin Tiles/spaceCornerLeftTop.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:Tiles/spaceCornerLeftTop.png
+
+#begin Tiles/spaceCornerRightDown.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:Tiles/spaceCornerRightDown.png
+
+#begin Tiles/spaceCornerRightTop.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:Tiles/spaceCornerRightTop.png
+
+#begin Tiles/spaceHorizontal.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:Tiles/spaceHorizontal.png
+
+#begin Tiles/spaceVertical.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:Tiles/spaceVertical.png
+
+#begin SplashArt/8.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:SplashArt/8.png
+
+#begin SplashArt/7.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:SplashArt/7.png
+
diff --git a/Penguloon/Content/SplashArt/6.png b/Penguloon/Content/SplashArt/6.png
new file mode 100644
index 0000000..916d36b
--- /dev/null
+++ b/Penguloon/Content/SplashArt/6.png
Binary files differ
diff --git a/Penguloon/Content/SplashArt/7.png b/Penguloon/Content/SplashArt/7.png
new file mode 100644
index 0000000..71e5a8b
--- /dev/null
+++ b/Penguloon/Content/SplashArt/7.png
Binary files differ
diff --git a/Penguloon/Content/SplashArt/8.png b/Penguloon/Content/SplashArt/8.png
new file mode 100644
index 0000000..242f80a
--- /dev/null
+++ b/Penguloon/Content/SplashArt/8.png
Binary files differ
diff --git a/Penguloon/Content/Tiles/space.png b/Penguloon/Content/Tiles/space.png
new file mode 100644
index 0000000..512a43e
--- /dev/null
+++ b/Penguloon/Content/Tiles/space.png
Binary files differ
diff --git a/Penguloon/Content/Tiles/spaceCornerLeftDown.png b/Penguloon/Content/Tiles/spaceCornerLeftDown.png
new file mode 100644
index 0000000..0381213
--- /dev/null
+++ b/Penguloon/Content/Tiles/spaceCornerLeftDown.png
Binary files differ
diff --git a/Penguloon/Content/Tiles/spaceCornerLeftTop.png b/Penguloon/Content/Tiles/spaceCornerLeftTop.png
new file mode 100644
index 0000000..2307e23
--- /dev/null
+++ b/Penguloon/Content/Tiles/spaceCornerLeftTop.png
Binary files differ
diff --git a/Penguloon/Content/Tiles/spaceCornerRightDown.png b/Penguloon/Content/Tiles/spaceCornerRightDown.png
new file mode 100644
index 0000000..43dda45
--- /dev/null
+++ b/Penguloon/Content/Tiles/spaceCornerRightDown.png
Binary files differ
diff --git a/Penguloon/Content/Tiles/spaceCornerRightTop.png b/Penguloon/Content/Tiles/spaceCornerRightTop.png
new file mode 100644
index 0000000..c42453e
--- /dev/null
+++ b/Penguloon/Content/Tiles/spaceCornerRightTop.png
Binary files differ
diff --git a/Penguloon/Content/Tiles/spaceHorizontal.png b/Penguloon/Content/Tiles/spaceHorizontal.png
new file mode 100644
index 0000000..241ca3b
--- /dev/null
+++ b/Penguloon/Content/Tiles/spaceHorizontal.png
Binary files differ
diff --git a/Penguloon/Content/Tiles/spaceVertical.png b/Penguloon/Content/Tiles/spaceVertical.png
new file mode 100644
index 0000000..046a7d9
--- /dev/null
+++ b/Penguloon/Content/Tiles/spaceVertical.png
Binary files differ
diff --git a/Penguloon/Content/UI/checkbox-empty.png b/Penguloon/Content/UI/checkbox-empty.png
new file mode 100644
index 0000000..4cf5e2f
--- /dev/null
+++ b/Penguloon/Content/UI/checkbox-empty.png
Binary files differ
diff --git a/Penguloon/Content/UI/checkbox-selected.png b/Penguloon/Content/UI/checkbox-selected.png
new file mode 100644
index 0000000..72826a1
--- /dev/null
+++ b/Penguloon/Content/UI/checkbox-selected.png
Binary files differ
diff --git a/Penguloon/Content/UI/sand.png b/Penguloon/Content/UI/sand.png
deleted file mode 100644
index abd640e..0000000
--- a/Penguloon/Content/UI/sand.png
+++ /dev/null
Binary files differ
diff --git a/Penguloon/Content/UI/sandCornerLeftDown.png b/Penguloon/Content/UI/sandCornerLeftDown.png
deleted file mode 100644
index f4c453e..0000000
--- a/Penguloon/Content/UI/sandCornerLeftDown.png
+++ /dev/null
Binary files differ
diff --git a/Penguloon/Content/UI/sandCornerLeftTop.png b/Penguloon/Content/UI/sandCornerLeftTop.png
deleted file mode 100644
index a6cc065..0000000
--- a/Penguloon/Content/UI/sandCornerLeftTop.png
+++ /dev/null
Binary files differ
diff --git a/Penguloon/Content/UI/sandCornerRightDown.png b/Penguloon/Content/UI/sandCornerRightDown.png
deleted file mode 100644
index 279f15a..0000000
--- a/Penguloon/Content/UI/sandCornerRightDown.png
+++ /dev/null
Binary files differ
diff --git a/Penguloon/Content/UI/sandCornerRightTop.png b/Penguloon/Content/UI/sandCornerRightTop.png
deleted file mode 100644
index 9289be5..0000000
--- a/Penguloon/Content/UI/sandCornerRightTop.png
+++ /dev/null
Binary files differ
diff --git a/Penguloon/Content/UI/sandHorizontal.png b/Penguloon/Content/UI/sandHorizontal.png
deleted file mode 100644
index 859ae74..0000000
--- a/Penguloon/Content/UI/sandHorizontal.png
+++ /dev/null
Binary files differ
diff --git a/Penguloon/Content/UI/sandVertical.png b/Penguloon/Content/UI/sandVertical.png
deleted file mode 100644
index 3e17fad..0000000
--- a/Penguloon/Content/UI/sandVertical.png
+++ /dev/null
Binary files differ
diff --git a/Penguloon/ContentManager.cs b/Penguloon/ContentManager.cs
index 561eead..175aa32 100644
--- a/Penguloon/ContentManager.cs
+++ b/Penguloon/ContentManager.cs
@@ -158,6 +158,29 @@ namespace Penguloon
return null;
}
+ public static Texture2D GetSpaceTileTextureByType(int type)
+ {
+ switch (type)
+ {
+ case 0:
+ return GetTexture("Tiles/space");
+ case 1:
+ return GetTexture("Tiles/spaceCornerLeftDown");
+ case 2:
+ return GetTexture("Tiles/spaceCornerLeftTop");
+ case 3:
+ return GetTexture("Tiles/spaceCornerRightDown");
+ case 4:
+ return GetTexture("Tiles/spaceCornerRightTop");
+ case 5:
+ return GetTexture("Tiles/spaceHorizontal");
+ case 6:
+ return GetTexture("Tiles/spaceVertical");
+ }
+
+ return null;
+ }
+
public static void DisposeContent()
{
foreach (var entry in TextureDictionary)
diff --git a/Penguloon/ContentPathManager.cs b/Penguloon/ContentPathManager.cs
index 71b17e9..825f5d7 100644
--- a/Penguloon/ContentPathManager.cs
+++ b/Penguloon/ContentPathManager.cs
@@ -43,6 +43,14 @@ namespace Penguloon
"Tiles/sandHorizontal",
"Tiles/sandVertical",
+ "Tiles/space",
+ "Tiles/spaceCornerLeftDown",
+ "Tiles/spaceCornerLeftTop",
+ "Tiles/spaceCornerRightDown",
+ "Tiles/spaceCornerRightTop",
+ "Tiles/spaceHorizontal",
+ "Tiles/spaceVertical",
+
"UI/btnDisabled",
"UI/btnIdle",
"UI/btnPressed",
@@ -69,6 +77,8 @@ namespace Penguloon
"UI/BtnMutePressed",
"UI/BtnUnmuteIdle",
"UI/BtnUnmutePressed",
+ "UI/checkbox-empty",
+ "UI/checkbox-selected",
"UI/speed",
"UI/money",
@@ -82,6 +92,9 @@ namespace Penguloon
"SplashArt/3",
"SplashArt/4",
"SplashArt/5",
+ "SplashArt/6",
+ "SplashArt/7",
+ "SplashArt/8",
"Enemies/pop",
"Enemies/red",
diff --git a/Penguloon/Controls/Checkbox.cs b/Penguloon/Controls/Checkbox.cs
new file mode 100644
index 0000000..7db93f5
--- /dev/null
+++ b/Penguloon/Controls/Checkbox.cs
@@ -0,0 +1,44 @@
+using Microsoft.Xna.Framework;
+using Penguloon.Scenes;
+
+namespace Penguloon.Controls
+{
+ public class Checkbox : ControlBase
+ {
+ public bool Selected { get; set; } = false;
+
+ public Checkbox(SceneBase parentScene, Vector2 position, Vector2 size) : base(parentScene, position, size)
+ {
+ this.BackgroundIdle = ContentManager.GetTexture("UI/checkbox-empty");
+ this.BackgroundPressed = ContentManager.GetTexture("UI/checkbox-empty");
+ this.BackgroundDisabled = ContentManager.GetTexture("UI/checkbox-empty");
+
+ this.ForeColor = Color.White;
+ this.BorderColor = Color.Gray;
+ this.BorderWidth = 0;
+ this.Font = ContentManager.GetFont(StaticUIValues.MenuFont);
+
+ OnClick += Button_OnClick;
+ }
+
+ private void Button_OnClick(object sender, ClickArgs e)
+ {
+ Selected = !Selected;
+
+ if (Selected)
+ {
+ this.BackgroundIdle = ContentManager.GetTexture("UI/checkbox-selected");
+ this.BackgroundPressed = ContentManager.GetTexture("UI/checkbox-selected");
+ this.BackgroundDisabled = ContentManager.GetTexture("UI/checkbox-selected");
+ }
+ else
+ {
+ this.BackgroundIdle = ContentManager.GetTexture("UI/checkbox-empty");
+ this.BackgroundPressed = ContentManager.GetTexture("UI/checkbox-empty");
+ this.BackgroundDisabled = ContentManager.GetTexture("UI/checkbox-empty");
+ }
+
+ SoundManager.PlayClickSound();
+ }
+ }
+} \ No newline at end of file
diff --git a/Penguloon/Controls/IngameOptions.cs b/Penguloon/Controls/IngameOptions.cs
index f59379d..0e2616c 100644
--- a/Penguloon/Controls/IngameOptions.cs
+++ b/Penguloon/Controls/IngameOptions.cs
@@ -25,6 +25,12 @@ namespace Penguloon.Controls
public MuteButton BtnMute { get; set; }
+ public Checkbox CheckboxAutoStart { get; set; }
+
+ Vector2 BtnSize;
+ Vector2 AutoStartTextPos;
+ string autoStartText;
+
public IngameOptions(SceneBase parentScene, Vector2 position, Vector2 size) : base(parentScene, position, size)
{
this.DrawText = false;
@@ -32,7 +38,7 @@ namespace Penguloon.Controls
this.BackgroundPressed = ContentManager.GetTexture("UI/optionsMenuBackground");
this.BackgroundDisabled = ContentManager.GetTexture("UI/optionsMenuBackground");
- Vector2 BtnSize = new Vector2(Size.X - 90, StaticUIValues.IngameUIPlayButtonHeight);
+ BtnSize = new Vector2(Size.X - 90, StaticUIValues.IngameUIPlayButtonHeight);
Vector2 MsgBoxSize = new Vector2(900, 550);
BtnMute = new MuteButton(parentScene,
@@ -49,7 +55,18 @@ namespace Penguloon.Controls
QuitConfirmationBox = new MessageBox(parentScene,
new Vector2((StaticUIValues.ScreenViewport.X / 2) - (MsgBoxSize.X / 2), (StaticUIValues.ScreenViewport.Y / 2) - (MsgBoxSize.Y / 2)),
- MsgBoxSize, parentScene.Main.Resources.GetString(Resource.String.IngameOptionsQuitConfirmation));
+ MsgBoxSize, parentScene.Main.Resources.GetString(Resource.String.IngameOptionsQuitConfirmation));
+
+ CheckboxAutoStart = new Checkbox(parentScene,
+ new Vector2(position.X + (Size.X / 2) - (BtnSize.X / 2) + 20 + StaticUIValues.MenuButtonSize.Y, Position.Y + Size.Y - (50 * 2) - (BtnSize.Y * 2)),
+ new Vector2(StaticUIValues.MenuButtonSize.Y, StaticUIValues.MenuButtonSize.Y));
+
+ Font = ContentManager.GetFont(StaticUIValues.IngameFont);
+
+ AutoStartTextPos = new Vector2(Position.X + (Size.X / 2) - (BtnSize.X / 2) + 20 + StaticUIValues.MenuButtonSize.Y + 20 + StaticUIValues.MenuButtonSize.Y,
+ Position.Y + Size.Y - (50 * 2) - (BtnSize.Y * 2) + (StaticUIValues.MenuButtonSize.Y / 2) - (Font.MeasureString("boeit niet").Y / 2));
+
+ autoStartText = parentScene.Main.Resources.GetString(Resource.String.IngameOptionsAutoStart);
BtnContinue.OnClick += BtnContinue_OnClick;
BtnQuit.OnClick += BtnQuit_OnClick;
@@ -102,6 +119,11 @@ namespace Penguloon.Controls
BtnContinue.Draw(deltaTime);
BtnQuit.Draw(deltaTime);
BtnMute.Draw(deltaTime);
+ CheckboxAutoStart.Draw(deltaTime);
+
+ ParentScene.DrawText(Font, "Auto Start",
+ AutoStartTextPos, new Vector2(), TextAllignment.LeftTop, Color.White, Color.Gray, 2);
+
QuitConfirmationBox.Draw(deltaTime);
}
@@ -120,6 +142,7 @@ namespace Penguloon.Controls
BtnContinue.Update(deltaTime, touchLocations);
BtnQuit.Update(deltaTime, touchLocations);
BtnMute.Update(deltaTime, touchLocations);
+ CheckboxAutoStart.Update(deltaTime, touchLocations);
}
}
} \ No newline at end of file
diff --git a/Penguloon/Controls/LevelSelector.cs b/Penguloon/Controls/LevelSelector.cs
index b5f0b26..885d6c1 100644
--- a/Penguloon/Controls/LevelSelector.cs
+++ b/Penguloon/Controls/LevelSelector.cs
@@ -108,6 +108,10 @@ namespace Penguloon.Controls
Levels.Add(new SandLevel1());
Levels.Add(new SandLevel2());
+ Levels.Add(new SandLevel3());
+
+ Levels.Add(new SpaceLevel1());
+ Levels.Add(new SpaceLevel2());
}
public override void Draw(float deltaTime)
diff --git a/Penguloon/Enums.cs b/Penguloon/Enums.cs
index d501087..0b800a6 100644
--- a/Penguloon/Enums.cs
+++ b/Penguloon/Enums.cs
@@ -61,6 +61,7 @@ namespace Penguloon
public enum LevelType
{
Ice,
- Sand
+ Sand,
+ Space
}
} \ No newline at end of file
diff --git a/Penguloon/Levels/IceLevel.cs b/Penguloon/Levels/IceLevel.cs
index 07d57b7..d041095 100644
--- a/Penguloon/Levels/IceLevel.cs
+++ b/Penguloon/Levels/IceLevel.cs
@@ -11,7 +11,7 @@ namespace Penguloon.Levels
public IceLevel() : base()
{
this.SplashArt = ContentManager.GetTexture("SplashArt/1");
- this.Money = 123350;
+ this.Money = 350;
this.Health = 200;
this.ID = 1;
this.MinimumLevel = 1;
diff --git a/Penguloon/Levels/IceLevel3.cs b/Penguloon/Levels/IceLevel3.cs
index f7a46e4..491a0dd 100644
--- a/Penguloon/Levels/IceLevel3.cs
+++ b/Penguloon/Levels/IceLevel3.cs
@@ -11,7 +11,7 @@ namespace Penguloon.Levels
public IceLevel3() : base()
{
this.SplashArt = ContentManager.GetTexture("SplashArt/3");
- this.Money = 123550;
+ this.Money = 350;
this.Health = 200;
this.ID = 3;
this.MinimumLevel = 10;
diff --git a/Penguloon/Levels/LevelBase.cs b/Penguloon/Levels/LevelBase.cs
index f2d8234..933b817 100644
--- a/Penguloon/Levels/LevelBase.cs
+++ b/Penguloon/Levels/LevelBase.cs
@@ -74,10 +74,15 @@ namespace Penguloon.Levels
string time = "";
- if (!Finished)
- time = (DateTime.Now - StartDate).ToString("hh':'mm':'ss");
- else
- time = (EndDate - StartDate).ToString("hh':'mm':'ss");
+ TimeSpan span = (DateTime.Now - StartDate);
+ if (Finished)
+ span = (EndDate - StartDate);
+
+ string format = "mm':'ss";
+ if (span.TotalHours > 1)
+ format = "hh':'mm':'ss";
+
+ time = span.ToString(format);
ParentScene.DrawText(ContentManager.GetFont("Fonts/GWENT/36"), time, new Vector2(10, StaticUIValues.ScreenViewport.Y - ContentManager.GetFont("Fonts/GWENT/36").MeasureString("XD").Y - 10),
new Vector2(), TextAllignment.LeftTop, Color.White, Color.Black, 2);
diff --git a/Penguloon/Levels/Map.cs b/Penguloon/Levels/Map.cs
index 43a701e..1ca9ee4 100644
--- a/Penguloon/Levels/Map.cs
+++ b/Penguloon/Levels/Map.cs
@@ -101,6 +101,7 @@ namespace Penguloon.Levels
{
case LevelType.Ice: tileTexture = ContentManager.GetTileTextureByType(TileMap[y, x].Type); break;
case LevelType.Sand: tileTexture = ContentManager.GetSandTileTextureByType(TileMap[y, x].Type); break;
+ case LevelType.Space: tileTexture = ContentManager.GetSpaceTileTextureByType(TileMap[y, x].Type); break;
}
if (tileTexture != null)
@@ -121,6 +122,7 @@ namespace Penguloon.Levels
{
case LevelType.Ice: tileTextureSpare = ContentManager.GetTileTextureByType(0); break;
case LevelType.Sand: tileTextureSpare = ContentManager.GetSandTileTextureByType(0); break;
+ case LevelType.Space: tileTextureSpare = ContentManager.GetSpaceTileTextureByType(0); break;
}
// draw spare tiles
diff --git a/Penguloon/Levels/SandLevel2.cs b/Penguloon/Levels/SandLevel2.cs
index 5662e84..006737a 100644
--- a/Penguloon/Levels/SandLevel2.cs
+++ b/Penguloon/Levels/SandLevel2.cs
@@ -13,7 +13,7 @@ namespace Penguloon.Levels
this.SplashArt = ContentManager.GetTexture("SplashArt/5");
this.Money = 350;
this.Health = 200;
- this.ID = 4;
+ this.ID = 5;
this.MinimumLevel = 20;
LevelType = LevelType.Sand;
}
diff --git a/Penguloon/Levels/SandLevel3.cs b/Penguloon/Levels/SandLevel3.cs
new file mode 100644
index 0000000..a158544
--- /dev/null
+++ b/Penguloon/Levels/SandLevel3.cs
@@ -0,0 +1,89 @@
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input.Touch;
+using Penguloon.Enemies;
+using Penguloon.Objects;
+using Penguloon.Scenes;
+
+namespace Penguloon.Levels
+{
+ public class SandLevel3 : LevelBase
+ {
+ public SandLevel3() : base()
+ {
+ this.SplashArt = ContentManager.GetTexture("SplashArt/6");
+ this.Money = 350;
+ this.Health = 200;
+ this.ID = 6;
+ this.MinimumLevel = 25;
+ LevelType = LevelType.Sand;
+ }
+
+ public override void DrawUnique(float deltaTime)
+ {
+ base.DrawUnique(deltaTime);
+ }
+
+ public override void UpdateUnique(float deltaTime, TouchLocation[] touchLocations)
+ {
+ base.UpdateUnique(deltaTime, touchLocations);
+ }
+
+ public override void CreateMap()
+ {
+ Map = new Map(ParentScene, this);
+ Map.SpawnPoint = new Vector2(4 * Map.TileWidth, -1 * Map.TileHeight);
+ Map.SpawnPointTargetPos = new Vector2(4 * Map.TileWidth, 0 * Map.TileHeight);
+ Map.FinishPoint = new Vector2(-1 * Map.TileWidth, 11 * Map.TileHeight);
+
+ Tile OO = new Tile(0, Direction.None);
+
+ Tile DN = new Tile(6, Direction.Down);
+ Tile RT = new Tile(5, Direction.Right);
+ Tile LT = new Tile(5, Direction.Left);
+ Tile UP = new Tile(6, Direction.Up);
+
+ Tile TR = new Tile(4, Direction.Right);
+ Tile RU = new Tile(4, Direction.Up);
+ Tile DR = new Tile(3, Direction.Right);
+
+ Tile DL = new Tile(1, Direction.Down);
+ Tile RD = new Tile(3, Direction.Down);
+ Tile LD = new Tile(1, Direction.Left);
+ Tile LU = new Tile(2, Direction.Left);
+ Tile TL = new Tile(2, Direction.Up);
+
+ Tile FN = new Tile(5, Direction.Finish);
+
+ Map.TileMap = new Tile[13, 18]
+ {
+ { OO,OO,OO,OO,DN,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,DN,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,RD,LT,LU,OO,OO,OO,OO,OO,OO,DR,RT,RT,RT,DL,OO,OO },
+ { OO,OO,DN,OO,OO,OO,OO,OO,OO,OO,OO,UP,OO,OO,OO,DN,OO,OO },
+ { OO,OO,DN,OO,OO,OO,OO,OO,OO,OO,OO,UP,OO,OO,OO,DN,OO,OO },
+ { OO,OO,TR,RT,RT,RT,RT,RT,RT,RT,RT,TL,OO,OO,OO,DN,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO },
+ { OO,OO,RD,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LU,OO,OO },
+ { OO,OO,DN,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { FN,LT,LU,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ };
+
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ }
+ }
+} \ No newline at end of file
diff --git a/Penguloon/Levels/SpaceLevel1.cs b/Penguloon/Levels/SpaceLevel1.cs
new file mode 100644
index 0000000..b52db2f
--- /dev/null
+++ b/Penguloon/Levels/SpaceLevel1.cs
@@ -0,0 +1,89 @@
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input.Touch;
+using Penguloon.Enemies;
+using Penguloon.Objects;
+using Penguloon.Scenes;
+
+namespace Penguloon.Levels
+{
+ public class SpaceLevel1 : LevelBase
+ {
+ public SpaceLevel1() : base()
+ {
+ this.SplashArt = ContentManager.GetTexture("SplashArt/7");
+ this.Money = 350;
+ this.Health = 200;
+ this.ID = 7;
+ this.MinimumLevel = 1;
+ LevelType = LevelType.Space;
+ }
+
+ public override void DrawUnique(float deltaTime)
+ {
+ base.DrawUnique(deltaTime);
+ }
+
+ public override void UpdateUnique(float deltaTime, TouchLocation[] touchLocations)
+ {
+ base.UpdateUnique(deltaTime, touchLocations);
+ }
+
+ public override void CreateMap()
+ {
+ Map = new Map(ParentScene, this);
+ Map.SpawnPoint = new Vector2(-1 * Map.TileWidth, 3 * Map.TileHeight);
+ Map.SpawnPointTargetPos = new Vector2(0 * Map.TileWidth, 3 * Map.TileHeight);
+ Map.FinishPoint = new Vector2(-1 * Map.TileWidth, 9 * Map.TileHeight);
+
+ Tile OO = new Tile(0, Direction.None);
+
+ Tile DN = new Tile(6, Direction.Down);
+ Tile RT = new Tile(5, Direction.Right);
+ Tile LT = new Tile(5, Direction.Left);
+ Tile UP = new Tile(6, Direction.Up);
+
+ Tile TR = new Tile(4, Direction.Right);
+ Tile RU = new Tile(4, Direction.Up);
+ Tile DR = new Tile(3, Direction.Right);
+
+ Tile DL = new Tile(1, Direction.Down);
+ Tile RD = new Tile(3, Direction.Down);
+ Tile LD = new Tile(1, Direction.Left);
+ Tile LU = new Tile(2, Direction.Left);
+ Tile TL = new Tile(2, Direction.Up);
+
+ Tile FN = new Tile(5, Direction.Finish);
+
+ Map.TileMap = new Tile[13, 18]
+ {
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,DL,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,DN,OO,OO,OO },
+ { FN,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LT,LU,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ };
+
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ }
+ }
+} \ No newline at end of file
diff --git a/Penguloon/Levels/SpaceLevel2.cs b/Penguloon/Levels/SpaceLevel2.cs
new file mode 100644
index 0000000..6de68ba
--- /dev/null
+++ b/Penguloon/Levels/SpaceLevel2.cs
@@ -0,0 +1,89 @@
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Input.Touch;
+using Penguloon.Enemies;
+using Penguloon.Objects;
+using Penguloon.Scenes;
+
+namespace Penguloon.Levels
+{
+ public class SpaceLevel2 : LevelBase
+ {
+ public SpaceLevel2() : base()
+ {
+ this.SplashArt = ContentManager.GetTexture("SplashArt/8");
+ this.Money = 350;
+ this.Health = 200;
+ this.ID = 8;
+ this.MinimumLevel = 35;
+ LevelType = LevelType.Space;
+ }
+
+ public override void DrawUnique(float deltaTime)
+ {
+ base.DrawUnique(deltaTime);
+ }
+
+ public override void UpdateUnique(float deltaTime, TouchLocation[] touchLocations)
+ {
+ base.UpdateUnique(deltaTime, touchLocations);
+ }
+
+ public override void CreateMap()
+ {
+ Map = new Map(ParentScene, this);
+ Map.SpawnPoint = new Vector2(-1 * Map.TileWidth, 6 * Map.TileHeight);
+ Map.SpawnPointTargetPos = new Vector2(0 * Map.TileWidth, 6 * Map.TileHeight);
+ Map.FinishPoint = new Vector2(18 * Map.TileWidth, 6 * Map.TileHeight);
+
+ Tile OO = new Tile(0, Direction.None);
+
+ Tile DN = new Tile(6, Direction.Down);
+ Tile RT = new Tile(5, Direction.Right);
+ Tile LT = new Tile(5, Direction.Left);
+ Tile UP = new Tile(6, Direction.Up);
+
+ Tile TR = new Tile(4, Direction.Right);
+ Tile RU = new Tile(4, Direction.Up);
+ Tile DR = new Tile(3, Direction.Right);
+
+ Tile DL = new Tile(1, Direction.Down);
+ Tile RD = new Tile(3, Direction.Down);
+ Tile LD = new Tile(1, Direction.Left);
+ Tile LU = new Tile(2, Direction.Left);
+ Tile TL = new Tile(2, Direction.Up);
+
+ Tile FN = new Tile(5, Direction.Finish);
+
+ Map.TileMap = new Tile[13, 18]
+ {
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,RT,FN },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ };
+
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ // { OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO,OO },
+ }
+ }
+} \ No newline at end of file
diff --git a/Penguloon/Levels/WaveManager.cs b/Penguloon/Levels/WaveManager.cs
index cb17596..96efa6d 100644
--- a/Penguloon/Levels/WaveManager.cs
+++ b/Penguloon/Levels/WaveManager.cs
@@ -85,7 +85,16 @@ namespace Penguloon.Levels
internal void FinishRound()
{
if (!Map.Level.Finished)
- CurrentWave++;
+ {
+ CurrentWave++;
+
+ // auto start round if checkbox is selected in options menu
+ if (Map.Level.ParentScene.OptionsMenu.CheckboxAutoStart.Selected)
+ {
+ Map.Level.Map.WaveManager.StartSpawningEnemies();
+ Map.Level.ParentScene.StartRoundBtn.ControlState = ControlState.Disabled;
+ }
+ }
}
}
diff --git a/Penguloon/Objects/CannonObject.cs b/Penguloon/Objects/CannonObject.cs
index 01afab8..e75639b 100644
--- a/Penguloon/Objects/CannonObject.cs
+++ b/Penguloon/Objects/CannonObject.cs
@@ -63,7 +63,7 @@ namespace Penguloon.Objects
public override void SpawnUnique()
{
- Projectiles.Add(new SnowballProjectile(this, this.Rotation, extraPops));
+ Projectiles.Add(new CannonballProjectile(this, this.Rotation, extraPops));
}
}
} \ No newline at end of file
diff --git a/Penguloon/Penguloon.csproj b/Penguloon/Penguloon.csproj
index a5330ce..3503e27 100644
--- a/Penguloon/Penguloon.csproj
+++ b/Penguloon/Penguloon.csproj
@@ -65,6 +65,7 @@
<Compile Include="ContentManager.cs" />
<Compile Include="ContentPathManager.cs" />
<Compile Include="Controls\Alert.cs" />
+ <Compile Include="Controls\Checkbox.cs" />
<Compile Include="Controls\MuteButton.cs" />
<Compile Include="Controls\ButtonUpgradeMenu.cs" />
<Compile Include="Controls\ButtonReset.cs" />
@@ -86,6 +87,9 @@
<Compile Include="Enemies\RainbowBalloon.cs" />
<Compile Include="Enemies\RedBalloon.cs" />
<Compile Include="Enemies\YellowBalloon.cs" />
+ <Compile Include="Levels\SpaceLevel1.cs" />
+ <Compile Include="Levels\SpaceLevel2.cs" />
+ <Compile Include="Levels\SandLevel3.cs" />
<Compile Include="Levels\SandLevel2.cs" />
<Compile Include="Levels\SandLevel1.cs" />
<Compile Include="Levels\IceLevel3.cs" />
diff --git a/Penguloon/Projectiles/CannonballProjectile.cs b/Penguloon/Projectiles/CannonballProjectile.cs
index bfe04e0..dd3f7b6 100644
--- a/Penguloon/Projectiles/CannonballProjectile.cs
+++ b/Penguloon/Projectiles/CannonballProjectile.cs
@@ -5,13 +5,13 @@ namespace Penguloon.Projectiles
{
class CannonballProjectile : ProjectileBase
{
- public CannonballProjectile(ObjectBase ParentObject, float RotationAngle) : base(ParentObject, RotationAngle)
+ public CannonballProjectile(ObjectBase ParentObject, float RotationAngle, int extraPops = 0) : base(ParentObject, RotationAngle)
{
this.Texture = ContentManager.GetTexture("Bullets/cannon-ammo");
this.Speed = 450f;
this.RotationSpeed = 5f;
this.Size = new Vector2(ParentObject.Map.TileWidth / 2, ParentObject.Map.TileHeight / 2);
- this.MaxBalloonPops = 5;
+ this.MaxBalloonPops = 5 + extraPops;
Rectangle parentRec = new Rectangle(ParentObject.Position.ToPoint(),
new Point(ParentObject.TileSpanX * ParentObject.Map.TileWidth, ParentObject.TileSpanY * ParentObject.Map.TileHeight));
diff --git a/Penguloon/Resources/Drawable/Icon.png b/Penguloon/Resources/Drawable/Icon.png
index 1a66b18..466f5a7 100644
--- a/Penguloon/Resources/Drawable/Icon.png
+++ b/Penguloon/Resources/Drawable/Icon.png
Binary files differ
diff --git a/Penguloon/Resources/Resource.Designer.cs b/Penguloon/Resources/Resource.Designer.cs
index d3a404b..32f9c1d 100644
--- a/Penguloon/Resources/Resource.Designer.cs
+++ b/Penguloon/Resources/Resource.Designer.cs
@@ -90,20 +90,23 @@ namespace Penguloon
// aapt resource value: 0x7f03000e
public const int IngameHealth = 2130903054;
- // aapt resource value: 0x7f03001d
- public const int IngameNo = 2130903069;
+ // aapt resource value: 0x7f03001e
+ public const int IngameNo = 2130903070;
// aapt resource value: 0x7f03000c
public const int IngameOptions = 2130903052;
+ // aapt resource value: 0x7f03001b
+ public const int IngameOptionsAutoStart = 2130903067;
+
// aapt resource value: 0x7f030019
public const int IngameOptionsContinue = 2130903065;
// aapt resource value: 0x7f03001a
public const int IngameOptionsQuit = 2130903066;
- // aapt resource value: 0x7f03001b
- public const int IngameOptionsQuitConfirmation = 2130903067;
+ // aapt resource value: 0x7f03001c
+ public const int IngameOptionsQuitConfirmation = 2130903068;
// aapt resource value: 0x7f03000d
public const int IngameStart = 2130903053;
@@ -111,8 +114,8 @@ namespace Penguloon
// aapt resource value: 0x7f030010
public const int IngameWave = 2130903056;
- // aapt resource value: 0x7f03001c
- public const int IngameYes = 2130903068;
+ // aapt resource value: 0x7f03001d
+ public const int IngameYes = 2130903069;
// aapt resource value: 0x7f030005
public const int LevelSelectionBack = 2130903045;
@@ -147,38 +150,38 @@ namespace Penguloon
// aapt resource value: 0x7f030013
public const int ObjectPenguin = 2130903059;
- // aapt resource value: 0x7f030027
- public const int StatsBestKills = 2130903079;
-
// aapt resource value: 0x7f030028
- public const int StatsBestRound = 2130903080;
+ public const int StatsBestKills = 2130903080;
- // aapt resource value: 0x7f030026
- public const int StatsBestStatsTitle = 2130903078;
+ // aapt resource value: 0x7f030029
+ public const int StatsBestRound = 2130903081;
- // aapt resource value: 0x7f030020
- public const int StatsLevel = 2130903072;
+ // aapt resource value: 0x7f030027
+ public const int StatsBestStatsTitle = 2130903079;
// aapt resource value: 0x7f030021
- public const int StatsResetConfirmation = 2130903073;
+ public const int StatsLevel = 2130903073;
+
+ // aapt resource value: 0x7f030022
+ public const int StatsResetConfirmation = 2130903074;
+
+ // aapt resource value: 0x7f030025
+ public const int StatsTotalGames = 2130903077;
// aapt resource value: 0x7f030024
- public const int StatsTotalGames = 2130903076;
+ public const int StatsTotalKills = 2130903076;
- // aapt resource value: 0x7f030023
- public const int StatsTotalKills = 2130903075;
+ // aapt resource value: 0x7f030026
+ public const int StatsTotalMoneySpent = 2130903078;
- // aapt resource value: 0x7f030025
- public const int StatsTotalMoneySpent = 2130903077;
+ // aapt resource value: 0x7f030023
+ public const int StatsTotalStatsTitle = 2130903075;
- // aapt resource value: 0x7f030022
- public const int StatsTotalStatsTitle = 2130903074;
+ // aapt resource value: 0x7f030020
+ public const int SupportDonate = 2130903072;
// aapt resource value: 0x7f03001f
- public const int SupportDonate = 2130903071;
-
- // aapt resource value: 0x7f03001e
- public const int SupportRate = 2130903070;
+ public const int SupportRate = 2130903071;
// aapt resource value: 0x7f030011
public const int UpgradeMenuSell = 2130903057;
diff --git a/Penguloon/Resources/Values/Strings.xml b/Penguloon/Resources/Values/Strings.xml
index 55b842a..311e278 100644
--- a/Penguloon/Resources/Values/Strings.xml
+++ b/Penguloon/Resources/Values/Strings.xml
@@ -40,7 +40,8 @@
<!-- ingame options menu -->
<string name="IngameOptionsContinue">Continue</string>
<string name="IngameOptionsQuit">Quit</string>
-
+ <string name="IngameOptionsAutoStart">Auto start</string>
+
<string name="IngameOptionsQuitConfirmation">Are you sure you want to quit?</string>
<string name="IngameYes">Yes</string>
<string name="IngameNo">No</string>
diff --git a/Penguloon/Scenes/MenuScene.cs b/Penguloon/Scenes/MenuScene.cs
index b8cbc78..44502ba 100644
--- a/Penguloon/Scenes/MenuScene.cs
+++ b/Penguloon/Scenes/MenuScene.cs
@@ -44,6 +44,8 @@ namespace Penguloon.Scenes
Controls.Add(btnCredits);
Controls.Add(BtnMute);
//Controls.Add(btnSupport);
+
+
}
private void BtnSupport_OnClick(object sender, ClickArgs e)