Browse Source

Lesson 18.7

Godzil 3 years ago
parent
commit
5c45a1ed9c
2 changed files with 25 additions and 0 deletions
  1. 5 0
      source/Game.cpp
  2. 20 0
      source/include/Components/Heakth.h

+ 5 - 0
source/Game.cpp

@@ -27,6 +27,7 @@
 #include <Components/KeyboardControl.h>
 #include <Components/CameraFollow.h>
 #include <Components/ProjectileEmitter.h>
+#include <Components/Heakth.h>
 
 #include <Systems/Movement.h>
 #include <Systems/Render.h>
@@ -182,8 +183,10 @@ void Game::LoadLevel(int level)
     chopper.addComponent<AnimationComponent>(2, 15, true);
     chopper.addComponent<KeyboardControlComponent>(glm::vec2(0, -80), glm::vec2(80, 0),
                                                    glm::vec2(0, 80), glm::vec2(-80, 0));
+    chopper.addComponent<HealthComponent>(100);
     chopper.addComponent<CameraFollowComponent>();
 
+
     Entity radar = this->registry->createEntity();
     radar.addComponent<TransformComponent>(glm::vec2(this->windowsWidth - 75, 10), glm::vec2(1, 1), 0);
     radar.addComponent<RigidBodyComponent>(glm::vec2(0, 0));
@@ -196,6 +199,7 @@ void Game::LoadLevel(int level)
     tank.addComponent<SpriteComponent>("tank-image", 1, 32, 32);
     tank.addComponent<BoxColliderComponent>(32, 32, glm::vec2(0, 0));
     tank.addComponent<ProjectileEmitterComponent>(glm::vec2(100, 0), 5000, 10000, 0, false);
+    tank.addComponent<HealthComponent>(100);
 
     Entity truck = this->registry->createEntity();
     truck.addComponent<TransformComponent>(glm::vec2(10, 10), glm::vec2(1, 1), 0);
@@ -203,6 +207,7 @@ void Game::LoadLevel(int level)
     truck.addComponent<SpriteComponent>("truck-image", 1, 32, 32);
     truck.addComponent<BoxColliderComponent>(32, 32, glm::vec2(0, 0));
     truck.addComponent<ProjectileEmitterComponent>(glm::vec2(0, 100), 2000, 10000, 0, false);
+    truck.addComponent<HealthComponent>(100);
 }
 
 void Game::Setup()

+ 20 - 0
source/include/Components/Heakth.h

@@ -0,0 +1,20 @@
+/*
+ * 2D Game Engine 
+ * Heakth.h: 
+ * Based on pikuma.com 2D game engine in C++ and Lua course
+ * Copyright (c) 2021 986-Studio. All rights reserved.
+ *
+ * Created by Manoël Trapier on 27/02/2021.
+ */
+
+#ifndef GAMEENGINE_SOURCE_INCLUDE_COMPONENTS_HEAKTH_H
+#define GAMEENGINE_SOURCE_INCLUDE_COMPONENTS_HEAKTH_H
+
+struct HealthComponent
+{
+    uin8t_t healthPercentage;
+
+    HealthComponent(uin8t_t healthPercentage = 0) : healthPercentage(healthPercentage) {};
+};
+
+#endif /* GAMEENGINE_SOURCE_INCLUDE_COMPONENTS_HEAKTH_H */