Simplified DawnGAme a lot
This commit is contained in:
69
archive/dawnosui/game/DawnPokerGame.cpp
Normal file
69
archive/dawnosui/game/DawnPokerGame.cpp
Normal file
@ -0,0 +1,69 @@
|
||||
// Copyright (c) 2022 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#include "DawnPokerGame.hpp"
|
||||
|
||||
using namespace Dawn;
|
||||
|
||||
std::shared_ptr<Material> material;
|
||||
std::shared_ptr<TestBackgroundShader> shader;
|
||||
|
||||
DawnGame::DawnGame(DawnHost &host) :
|
||||
host(host),
|
||||
renderManager(*this),
|
||||
inputManager(*this)
|
||||
{
|
||||
}
|
||||
|
||||
int32_t DawnGame::init() {
|
||||
this->assetManager.init();
|
||||
this->renderManager.init();
|
||||
|
||||
this->scene = std::make_shared<Scene>(*this);
|
||||
|
||||
auto cameraObject = this->scene->createSceneItem();
|
||||
auto camera = cameraObject->addComponent<Camera>();
|
||||
camera->type = CAMERA_TYPE_ORTHONOGRAPHIC;
|
||||
camera->orthoLeft = 0.0f;
|
||||
camera->orthoRight = 1.0f;
|
||||
camera->orthoTop = 0.0f;
|
||||
camera->orthoBottom = 1.0f;
|
||||
camera->transform.lookAt(glm::vec3(0, 0, 10), glm::vec3(0, 0, 0));
|
||||
// camera->transform.lookAt(glm::vec3(50, 50, 50), glm::vec3(0, 0, 0));
|
||||
|
||||
auto quad = this->scene->createSceneItem();
|
||||
auto meshRenderer = quad->addComponent<MeshRenderer>();
|
||||
meshRenderer->mesh = std::make_shared<Mesh>();
|
||||
meshRenderer->mesh->createBuffers(QUAD_VERTICE_COUNT, QUAD_INDICE_COUNT);
|
||||
QuadMesh::bufferQuadMesh(meshRenderer->mesh.get(),
|
||||
glm::vec2(0, 0), glm::vec2(0, 0),
|
||||
glm::vec2(1.0f, 1.0f), glm::vec2(1.0f, 1.0f),
|
||||
0, 0
|
||||
);
|
||||
|
||||
shader = std::make_shared<TestBackgroundShader>();
|
||||
shader->compile();
|
||||
material = quad->addComponent<Material>();
|
||||
material->setShader(shader);
|
||||
|
||||
return DAWN_GAME_INIT_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
int32_t DawnGame::update(float_t delta) {
|
||||
this->assetManager.update();
|
||||
this->inputManager.update();
|
||||
this->timeManager.update(delta);
|
||||
|
||||
if(this->scene != nullptr) this->scene->update();
|
||||
|
||||
material->floatValues[shader->paramTime] = this->timeManager.time;
|
||||
|
||||
this->renderManager.update();
|
||||
return DAWN_GAME_UPDATE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
DawnGame::~DawnGame() {
|
||||
|
||||
}
|
Reference in New Issue
Block a user