diff --git a/assets/models/GameBoard.mtl b/assets/models/GameBoard.mtl new file mode 100644 index 0000000..08a8b62 --- /dev/null +++ b/assets/models/GameBoard.mtl @@ -0,0 +1,62 @@ +# Blender 5.2.0 LTS MTL File: 'GameBoard.blend' +# www.blender.org + +newmtl Background +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 2 +map_Kd gameboard:brackground.png + +newmtl Blue +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 2 +map_Kd chess_blue.png + +newmtl Green +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 2 +map_Kd chess_green.png + +newmtl Material +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 2 +map_Kd track.jpg + +newmtl Red +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 2 +map_Kd chess_red.png + +newmtl Yellow +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 2 +map_Kd chess_yellow.png diff --git a/assets/models/chess_green.png b/assets/models/chess_green.png new file mode 100644 index 0000000..f8e9e39 Binary files /dev/null and b/assets/models/chess_green.png differ diff --git a/assets/models/chess_red.png b/assets/models/chess_red.png new file mode 100644 index 0000000..d99e7ac Binary files /dev/null and b/assets/models/chess_red.png differ diff --git a/assets/models/chess_yellow.png b/assets/models/chess_yellow.png new file mode 100644 index 0000000..736936b Binary files /dev/null and b/assets/models/chess_yellow.png differ diff --git a/assets/models/gameboard:brackground.png b/assets/models/gameboard:brackground.png new file mode 100644 index 0000000..b91be39 Binary files /dev/null and b/assets/models/gameboard:brackground.png differ diff --git a/assets/models/track.jpg b/assets/models/track.jpg new file mode 100644 index 0000000..739ef41 Binary files /dev/null and b/assets/models/track.jpg differ diff --git a/engine/src/core/inputsOutputs/controller/CameraController.cpp b/engine/src/core/inputsOutputs/controller/CameraController.cpp index 7485876..e5e3b5a 100644 --- a/engine/src/core/inputsOutputs/controller/CameraController.cpp +++ b/engine/src/core/inputsOutputs/controller/CameraController.cpp @@ -19,4 +19,5 @@ void engine::CameraController::update(const Keyboard &keyboard, Camera &camera, if (keyboard.isKeyDown(GLFW_KEY_S)) camera.moveRelative(glm::vec3(0.0f, 0.0f, -1.0f), 10.0f, deltaTime); if (keyboard.isKeyDown(GLFW_KEY_A)) camera.moveRelative(glm::vec3(-1.0f, 0.0f, 0.0f), 10.0f, deltaTime); if (keyboard.isKeyDown(GLFW_KEY_D)) camera.moveRelative(glm::vec3(1.0f, 0.0f, 0.0f), 10.0f, deltaTime); + if (keyboard.isKeyDown(GLFW_KEY_SPACE)) camera.moveRelative(glm::vec3(0.0f, 1.0f, 0.0f), 10.0f, deltaTime); } diff --git a/game/src/GameLayer.cpp b/game/src/GameLayer.cpp index 434caba..5e0ef15 100644 --- a/game/src/GameLayer.cpp +++ b/game/src/GameLayer.cpp @@ -28,15 +28,6 @@ void GameLayer::onDetachImpl() { void GameLayer::onUpdate(float deltaTime) { Layer::onUpdate(deltaTime); - - auto transformComponentPool = m_entityRegistry.getPool(); - for (const auto& [entity, transform] : transformComponentPool) { - m_entityRegistry.removeComponent(entity); - - const auto updatedTransform = TransformComponent({0,0,0}, {0, transform.m_rotation.y + 1,0}, {1,1,1}); - m_entityRegistry.addComponent(entity, updatedTransform); - } - m_cameraController->update(getKeyboard(), *m_camera, deltaTime); } diff --git a/game/src/GameScene.cpp b/game/src/GameScene.cpp index 64dddee..855295a 100644 --- a/game/src/GameScene.cpp +++ b/game/src/GameScene.cpp @@ -10,7 +10,7 @@ #include "ecs/standardComponents/TransformComponent.h" GameScene::GameScene(engine::InputContextStack& inputStack, engine::Keyboard& keyboard, engine::Mouse& mouse) : Scene(inputStack, keyboard, mouse), m_camera(std::make_unique()) { - m_pointLight = std::make_shared(glm::vec3(.0f, .0f, -5.0f), glm::vec3(1.0f, 1.0f, 1.0f)); + m_pointLight = std::make_shared(glm::vec3(.0f, 10.f, -5.0f), glm::vec3(1.0f, 1.0f, 1.0f)); } void GameScene::onEnter() { @@ -21,15 +21,14 @@ void GameScene::onEnter() { m_camera->setPitch(0.0f); if (assetManager->hasModel("pawn")) { - engine::Entity entity = entityRegistry.createEntity(); - const auto pawnModel = assetManager->getModel("pawn"); + const auto gameboardModel = assetManager->getModel("gameboard"); + const auto gameboardEntity = entityRegistry.createEntity(); const auto transform = engine::TransformComponent({0,0,0}, {0,0,0}, {1,1,1}); - const auto mesh = engine::MeshComponent(pawnModel); - - entityRegistry.addComponent(entity, transform); - entityRegistry.addComponent(entity, mesh); + const auto mesh = engine::MeshComponent(gameboardModel); + entityRegistry.addComponent(gameboardEntity, transform); + entityRegistry.addComponent(gameboardEntity, mesh); } } @@ -40,5 +39,6 @@ void GameScene::onExit() { std::vector GameScene::getRequiredAssets() const { std::vector requests; requests.emplace_back(engine::ModelRequest{"pawn", "assets/models/chess.obj", engine::ModelSplitPolicy::Combined}); + requests.emplace_back(engine::ModelRequest{ "gameboard", "assets/models/GameBoard.obj", engine::ModelSplitPolicy::Combined}); return requests; } \ No newline at end of file