From da3613a7ffc3b4c62bc7ef4706d82ea4513bd5cd Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Sat, 18 Feb 2023 21:10:14 -0800 Subject: [PATCH] Physics time --- assets/games/tictactoe/xo.png | Bin 0 -> 126947 bytes src/dawn/scene/SceneItemComponent.hpp | 1 + src/dawntictactoe/CMakeLists.txt | 4 +- src/dawntictactoe/components/CMakeLists.txt | 10 ++++ .../components/TicTacToeTile.cpp | 20 +++++++ .../components/TicTacToeTile.hpp | 25 ++++++++ src/dawntictactoe/game/DawnGame.cpp | 4 +- .../prefabs/TicTacToeTilePrefab.hpp | 56 ++++++++++++++++++ src/dawntictactoe/scenes/TicTacToeScene.hpp | 45 ++++++++++++++ 9 files changed, 162 insertions(+), 3 deletions(-) create mode 100644 assets/games/tictactoe/xo.png create mode 100644 src/dawntictactoe/components/CMakeLists.txt create mode 100644 src/dawntictactoe/components/TicTacToeTile.cpp create mode 100644 src/dawntictactoe/components/TicTacToeTile.hpp create mode 100644 src/dawntictactoe/prefabs/TicTacToeTilePrefab.hpp create mode 100644 src/dawntictactoe/scenes/TicTacToeScene.hpp diff --git a/assets/games/tictactoe/xo.png b/assets/games/tictactoe/xo.png new file mode 100644 index 0000000000000000000000000000000000000000..b0bd39da269fdf7c2e98b01b565eddb6f1393770 GIT binary patch literal 126947 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 literal 0 HcmV?d00001 diff --git a/src/dawn/scene/SceneItemComponent.hpp b/src/dawn/scene/SceneItemComponent.hpp index a877ee10..12f54c96 100644 --- a/src/dawn/scene/SceneItemComponent.hpp +++ b/src/dawn/scene/SceneItemComponent.hpp @@ -64,6 +64,7 @@ namespace Dawn { */ virtual void onDispose(); + /** * Cleanup the SceneItemComponent. */ diff --git a/src/dawntictactoe/CMakeLists.txt b/src/dawntictactoe/CMakeLists.txt index c31f3496..d23fdf6f 100644 --- a/src/dawntictactoe/CMakeLists.txt +++ b/src/dawntictactoe/CMakeLists.txt @@ -16,10 +16,12 @@ target_include_directories(${DAWN_TARGET_NAME} ) # Subdirs +add_subdirectory(components) add_subdirectory(game) add_subdirectory(save) # Assets set(DIR_GAME_ASSETS games/tictactoe) -tool_language(locale_en ${DIR_GAME_ASSETS}/locale/en.xml) \ No newline at end of file +tool_language(locale_en ${DIR_GAME_ASSETS}/locale/en.xml) +tool_tileset(tileset_xo texture_xo ${DIR_GAME_ASSETS}/xo.png 1 3) \ No newline at end of file diff --git a/src/dawntictactoe/components/CMakeLists.txt b/src/dawntictactoe/components/CMakeLists.txt new file mode 100644 index 00000000..cc28f296 --- /dev/null +++ b/src/dawntictactoe/components/CMakeLists.txt @@ -0,0 +1,10 @@ +# Copyright (c) 2023 Dominic Masters +# +# This software is released under the MIT License. +# https://opensource.org/licenses/MIT + +# Sources +target_sources(${DAWN_TARGET_NAME} + PRIVATE + TicTacToeTile.cpp +) \ No newline at end of file diff --git a/src/dawntictactoe/components/TicTacToeTile.cpp b/src/dawntictactoe/components/TicTacToeTile.cpp new file mode 100644 index 00000000..df7cc20e --- /dev/null +++ b/src/dawntictactoe/components/TicTacToeTile.cpp @@ -0,0 +1,20 @@ +// Copyright (c) 2023 Dominic Masters +// +// This software is released under the MIT License. +// https://opensource.org/licenses/MIT + +#include "TicTacToeTile.hpp" +#include "scene/SceneItem.hpp" + +using namespace Dawn; + +TicTacToeTile::TicTacToeTile(SceneItem *item) : SceneItemComponent(item) { +} + +void TicTacToeTile::setState(enum TicTacToeTileState state) { + auto ts = this->item->getComponent(); + + ts->setTile(state); + + this->state = state; +} \ No newline at end of file diff --git a/src/dawntictactoe/components/TicTacToeTile.hpp b/src/dawntictactoe/components/TicTacToeTile.hpp new file mode 100644 index 00000000..09efbe03 --- /dev/null +++ b/src/dawntictactoe/components/TicTacToeTile.hpp @@ -0,0 +1,25 @@ +// Copyright (c) 2023 Dominic Masters +// +// This software is released under the MIT License. +// https://opensource.org/licenses/MIT + +#pragma once +#include "scene/SceneItemComponent.hpp" +#include "scene/components/display/TiledSprite.hpp" + +namespace Dawn { + enum TicTacToeTileState { + TIC_TAC_TOE_BLANK, + TIC_TAC_TOE_NOUGHT, + TIC_TAC_TOE_CROSS + }; + + class TicTacToeTile : public SceneItemComponent { + public: + enum TicTacToeTileState state = TIC_TAC_TOE_BLANK; + + TicTacToeTile(SceneItem *item); + + void setState(enum TicTacToeTileState state); + }; +} \ No newline at end of file diff --git a/src/dawntictactoe/game/DawnGame.cpp b/src/dawntictactoe/game/DawnGame.cpp index d99f1e70..b76e816e 100644 --- a/src/dawntictactoe/game/DawnGame.cpp +++ b/src/dawntictactoe/game/DawnGame.cpp @@ -4,7 +4,7 @@ // https://opensource.org/licenses/MIT #include "DawnGame.hpp" -#include "scenes/TestScene.hpp" +#include "scenes/TicTacToeScene.hpp" using namespace Dawn; @@ -23,7 +23,7 @@ int32_t DawnGame::init() { this->localeManager.init(); this->renderManager.init(); - this->scene = new TestScene(this); + this->scene = new TicTacToeScene(this); return DAWN_GAME_INIT_RESULT_SUCCESS; } diff --git a/src/dawntictactoe/prefabs/TicTacToeTilePrefab.hpp b/src/dawntictactoe/prefabs/TicTacToeTilePrefab.hpp new file mode 100644 index 00000000..e73e3927 --- /dev/null +++ b/src/dawntictactoe/prefabs/TicTacToeTilePrefab.hpp @@ -0,0 +1,56 @@ +// Copyright (c) 2023 Dominic Masters +// +// This software is released under the MIT License. +// https://opensource.org/licenses/MIT + +#pragma once +#include "prefab/SceneItemPrefab.hpp" +#include "scene/components/display/TiledSprite.hpp" +#include "scene/components/display/MeshHost.hpp" +#include "scene/components/display/MeshRenderer.hpp" +#include "scene/components/display/material/SimpleTexturedMaterial.hpp" +#include "components/TicTacToeTile.hpp" + +namespace Dawn { + class TicTacToeTilePrefab : public SceneItemPrefab { + public: + static std::vector prefabAssets(AssetManager *ass) { + return std::vector{ + ass->get("texture_xo"), + ass->get("tileset_xo") + }; + } + + // + MeshHost *meshHost; + TiledSprite *sprite; + MeshRenderer *meshRenderer; + SimpleTexturedMaterial *material; + TicTacToeTile *ticTacToe; + + TicTacToeTilePrefab(Scene *s, sceneitemid_t i) : + SceneItemPrefab(s,i) + { + } + + + void prefabInit(AssetManager *man) override { + auto tileset = man->get("tileset_xo"); + auto texture = man->get("texture_xo"); + + meshHost = this->addComponent(); + + meshRenderer = this->addComponent(); + + material = this->template addComponent(); + material->texture = &texture->texture; + + sprite = this->addComponent(); + sprite->setTileset(&tileset->tileset); + sprite->setSize(glm::vec2(1, 1)); + sprite->setTile(0x00); + + ticTacToe = this->addComponent(); + } + }; +} \ No newline at end of file diff --git a/src/dawntictactoe/scenes/TicTacToeScene.hpp b/src/dawntictactoe/scenes/TicTacToeScene.hpp new file mode 100644 index 00000000..3bee8b7b --- /dev/null +++ b/src/dawntictactoe/scenes/TicTacToeScene.hpp @@ -0,0 +1,45 @@ +// Copyright (c) 2023 Dominic Masters +// +// This software is released under the MIT License. +// https://opensource.org/licenses/MIT + +#pragma once +#include "scene/Scene.hpp" +#include "prefabs/SimpleSpinningCubePrefab.hpp" +#include "prefabs/TicTacToeTilePrefab.hpp" + +namespace Dawn { + class TicTacToeScene : public Scene { + protected: + Camera *camera; + TicTacToeTilePrefab* tiles[9]; + + void stage() override { + camera = Camera::create(this); + camera->transform->lookAt(glm::vec3(5, 5, 5), glm::vec3(0, 0, 0)); + + int32_t i = 0; + for(int32_t x = -1; x <= 1; x++) { + for(int32_t y = -1; y <= 1; y++) { + auto tile = TicTacToeTilePrefab::prefabCreate(this); + tile->transform.setLocalPosition(glm::vec3(x * 1.25f, y * 1.25f, 0)); + // tile->ticTacToe->setState(i % 2 == 0 ? TIC_TAC_TOE_CROSS : TIC_TAC_TOE_NOUGHT); + tiles[i++] = tile; + } + } + + + } + + std::vector getRequiredAssets() override { + auto assMan = &this->game->assetManager; + std::vector assets; + vectorAppend(&assets, SimpleSpinningCubePrefab::getRequiredAssets(assMan)); + vectorAppend(&assets, TicTacToeTilePrefab::getRequiredAssets(assMan)); + return assets; + } + + public: + TicTacToeScene(DawnGame *game) : Scene(game) {} + }; +} \ No newline at end of file