|
@@ -22,10 +22,12 @@
|
|
|
#include <Components/Transform.h>
|
|
|
#include <Components/RigidBody.h>
|
|
|
#include <Components/Sprite.h>
|
|
|
+#include <Components/BoxCollider.h>
|
|
|
|
|
|
#include <Systems/Movement.h>
|
|
|
#include <Systems/Render.h>
|
|
|
#include <Systems/Animation.h>
|
|
|
+#include <Systems/Collision.h>
|
|
|
|
|
|
Game::Game()
|
|
|
{
|
|
@@ -108,6 +110,7 @@ void Game::LoadLevel(int level)
|
|
|
this->registry->addSystem<MovementSystem>();
|
|
|
this->registry->addSystem<RenderSystem>();
|
|
|
this->registry->addSystem<AnimationSystem>();
|
|
|
+ this->registry->addSystem<CollisionSystem>();
|
|
|
|
|
|
this->assetStore->addTexture(this->renderer, "tank-image", "assets/images/tank-panther-right.png");
|
|
|
this->assetStore->addTexture(this->renderer, "truck-image", "assets/images/truck-ford-right.png");
|
|
@@ -147,7 +150,7 @@ void Game::LoadLevel(int level)
|
|
|
mapFile.close();
|
|
|
|
|
|
Entity chopper = this->registry->createEntity();
|
|
|
- chopper.addComponent<TransformComponent>(glm::vec2(10, 10), glm::vec2(1, 1), 0);
|
|
|
+ chopper.addComponent<TransformComponent>(glm::vec2(10, 100), glm::vec2(1, 1), 0);
|
|
|
chopper.addComponent<SpriteComponent>("chopper-image", 2, 32, 32);
|
|
|
chopper.addComponent<RigidBodyComponent>(glm::vec2(0, 0));
|
|
|
chopper.addComponent<AnimationComponent>(2, 15, true);
|
|
@@ -159,14 +162,16 @@ void Game::LoadLevel(int level)
|
|
|
radar.addComponent<AnimationComponent>(8, 5, true);
|
|
|
|
|
|
Entity tank = this->registry->createEntity();
|
|
|
- tank.addComponent<TransformComponent>(glm::vec2(10, 50), glm::vec2(1, 1), 0);
|
|
|
- tank.addComponent<RigidBodyComponent>(glm::vec2(20, 0));
|
|
|
+ tank.addComponent<TransformComponent>(glm::vec2(500, 10), glm::vec2(1, 1), 0);
|
|
|
+ tank.addComponent<RigidBodyComponent>(glm::vec2(-30, 0));
|
|
|
tank.addComponent<SpriteComponent>("tank-image", 1, 32, 32);
|
|
|
+ tank.addComponent<BoxColliderComponent>(32, 32, glm::vec2(0, 0));
|
|
|
|
|
|
Entity truck = this->registry->createEntity();
|
|
|
- truck.addComponent<TransformComponent>(glm::vec2(10, 100), glm::vec2(1, 1), 0);
|
|
|
- truck.addComponent<RigidBodyComponent>(glm::vec2(25, 0));
|
|
|
+ truck.addComponent<TransformComponent>(glm::vec2(10, 10), glm::vec2(1, 1), 0);
|
|
|
+ truck.addComponent<RigidBodyComponent>(glm::vec2(20, 0));
|
|
|
truck.addComponent<SpriteComponent>("truck-image", 1, 32, 32);
|
|
|
+ truck.addComponent<BoxColliderComponent>(32, 32, glm::vec2(0, 0));
|
|
|
}
|
|
|
|
|
|
void Game::Setup()
|
|
@@ -187,6 +192,7 @@ void Game::Update()
|
|
|
|
|
|
registry->getSystem<MovementSystem>().update(deltaTime);
|
|
|
registry->getSystem<AnimationSystem>().update();
|
|
|
+ registry->getSystem<CollisionSystem>().update();
|
|
|
|
|
|
registry->update();
|
|
|
}
|