aboutsummaryrefslogtreecommitdiff
path: root/Space Invaders/GameEngine
diff options
context:
space:
mode:
Diffstat (limited to 'Space Invaders/GameEngine')
-rw-r--r--Space Invaders/GameEngine/GameEngine.cs12
1 files changed, 12 insertions, 0 deletions
diff --git a/Space Invaders/GameEngine/GameEngine.cs b/Space Invaders/GameEngine/GameEngine.cs
index 6c5c5b0..019b0aa 100644
--- a/Space Invaders/GameEngine/GameEngine.cs
+++ b/Space Invaders/GameEngine/GameEngine.cs
@@ -12,6 +12,8 @@ namespace GameEngine {
public List<GameObject> GameObjects = new List<GameObject>();
public Thread _listnerThread = new Thread(Input.Listner);
+ public Random Rand = new Random();
+
private Graphics _graphics;
private bool _running;
@@ -132,6 +134,16 @@ namespace GameEngine {
// This method is called after the frame is rendered
}
+ public bool CollidingWith(GameObject other) {
+ // This method checks if 'this' collides with another GameObject
+ // TODO Make this check if the position contains '\0', if so we are not colliding. This will make hitboxes more natural
+ int x1 = other.xPos;
+ int x2 = other.xPos + other.Sprite.GetLength(1);
+ int y1 = other.yPos;
+ int y2 = other.yPos + other.Sprite.GetLength(0);
+ return (x1 <= xPos && xPos < x2 && y1 <= yPos && yPos <= y2);
+ }
+
public void ScaleSprite() {
// This is called after the Update method, and scales the sprite if it has changed
if (RenderedSprite == Sprite) { return; }