// Copyright (c) 2023 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #include "scenes/SceneList.hpp" #include "prefab/PlayerPrefab.hpp" #include "prefab/TestEntityPrefab.hpp" #include "prefab/WorldPrefab.hpp" #include "component/display/Camera.hpp" // #include "prefab/SimpleSpinningCube.hpp" // #include "component/display/material/SimpleTexturedMaterial.hpp" // #include "display/mesh/CubeMesh.hpp" // #include "component/ui/UICanvas.hpp" // #include "ui/elements/UIRectangle.hpp" // #include "ui/elements/UILabel.hpp" // #include "ui/UIMenu.hpp" // #include "ui/container/UIRowContainer.hpp" // #include "ui/container/UIPaddingContainer.hpp" // #include "poker/PokerGame.hpp" using namespace Dawn; void Dawn::worldScene(Scene &s) { auto testj = s.getGame()->assetManager.get<json>("test"); while(!s.getGame()->assetManager.isEverythingLoaded()) { s.getGame()->assetManager.update(); } auto cameraItem = s.createSceneItem(); auto camera = cameraItem->addComponent<Camera>(); cameraItem->lookAt({ 3, 3, 3 }, { 0, 0, 0 }, { 0, 1, 0 }); camera->clipFar = 99999.99f; // auto cube = s.createSceneItem(); // auto cubeMesh = std::make_shared<Mesh>(); // auto cubeRenderer = cube->addComponent<MeshRenderer>(); // auto cubeMaterial = cube->addComponent<SimpleTexturedMaterial>(); // cubeRenderer->mesh = cubeMesh; // cubeMesh->createBuffers(CUBE_VERTICE_COUNT, CUBE_INDICE_COUNT); // CubeMesh::buffer(cubeMesh, glm::vec3(0,0,0), glm::vec3(1, 1, 1), 0, 0); // auto canvasItem = s.createSceneItem(); // auto canvas = canvasItem->addComponent<UICanvas>(); auto world = createWorldPrefab(s); auto map = createMapPrefab(world.world); map.map->setSize( 32, 32, 32, 3, 3, 3 ); auto chunk = map.map->getChunkAt({ 0, 0, 0 }); chunk = map.map->getChunkAt({ 1, 0, 0 }); chunk = map.map->getChunkAt({ 0, 1, 0 }); chunk = map.map->getChunkAt({ 0, 0, 1 }); auto player = createPlayerPrefab(map.map); player.player->camera = camera; auto test = createTestEntityPrefab(map.map); test.entity->setPosition({ 5, 0, 0 }); }