|
@@ -171,6 +171,7 @@ void Game::LoadLevel(int level)
|
|
|
this->registry->addSystem<RenderGUISystem>();
|
|
|
|
|
|
this->assetStore->addTexture(this->renderer, "tank-image", "assets/images/tank-panther-right.png");
|
|
|
+ this->assetStore->addTexture(this->renderer, "tree-image", "assets/images/tree.png");
|
|
|
this->assetStore->addTexture(this->renderer, "truck-image", "assets/images/truck-ford-right.png");
|
|
|
this->assetStore->addTexture(this->renderer, "chopper-image", "assets/images/chopper-spritesheet.png");
|
|
|
this->assetStore->addTexture(this->renderer, "main-tileset", "assets/tilemaps/jungle.png");
|
|
@@ -238,10 +239,9 @@ void Game::LoadLevel(int level)
|
|
|
|
|
|
Entity tank = this->registry->createEntity();
|
|
|
tank.addComponent<TransformComponent>(glm::vec2(500, 500), glm::vec2(1, 1), 0);
|
|
|
- tank.addComponent<RigidBodyComponent>(glm::vec2(0, 0));
|
|
|
+ tank.addComponent<RigidBodyComponent>(glm::vec2(20, 0));
|
|
|
tank.addComponent<SpriteComponent>("tank-image", 1, 32, 32);
|
|
|
tank.addComponent<BoxColliderComponent>(25, 18, glm::vec2(5, 7));
|
|
|
- tank.addComponent<ProjectileEmitterComponent>(glm::vec2(100, 0), 3000, 5000, 10, false);
|
|
|
tank.addComponent<HealthComponent>(100);
|
|
|
tank.group("enemies");
|
|
|
|
|
@@ -254,6 +254,19 @@ void Game::LoadLevel(int level)
|
|
|
truck.addComponent<HealthComponent>(100);
|
|
|
truck.group("enemies");
|
|
|
|
|
|
+
|
|
|
+ Entity treeA = registry->createEntity();
|
|
|
+ treeA.addComponent<TransformComponent>(glm::vec2(600, 495), glm::vec2(1, 1), 0);
|
|
|
+ treeA.addComponent<SpriteComponent>("tree-image", 2, 16, 32);
|
|
|
+ treeA.addComponent<BoxColliderComponent>(16, 32);
|
|
|
+ treeA.group("obstacles");
|
|
|
+
|
|
|
+ Entity treeB = registry->createEntity();
|
|
|
+ treeB.addComponent<TransformComponent>(glm::vec2(400, 495), glm::vec2(1, 1), 0);
|
|
|
+ treeB.addComponent<SpriteComponent>("tree-image", 2, 16, 32);
|
|
|
+ treeB.addComponent<BoxColliderComponent>(16, 32);
|
|
|
+ treeB.group("obstacles");
|
|
|
+
|
|
|
SDL_Color green = { 64, 255, 127, 255 };
|
|
|
Entity label = this->registry->createEntity();
|
|
|
label.addComponent<TextLabelComponent>(glm::vec2(this->windowsWidth/2 - 60, 10), "SUPER CHOPPER BROS 1.0", "charriot-font", green);
|
|
@@ -280,6 +293,7 @@ void Game::Update()
|
|
|
registry->getSystem<DamageSystem>().subscriptToEvents(eventBus);
|
|
|
registry->getSystem<KeyboardMovementSystem>().subscriptToEvents(eventBus);
|
|
|
registry->getSystem<ProjectileEmitSystem>().subscriptToEvents(eventBus);
|
|
|
+ registry->getSystem<MovementSystem>().subscriptToEvents(eventBus);
|
|
|
|
|
|
registry->update();
|
|
|
|