ArtifactEngine_old/src/main.cpp

57 lines
1.7 KiB
C++

#include <iostream>
#include <Events.h>
#include <Engine.h>
#include <World.h>
#include <Server.h>
int main() {
// printf("About to call glfwInit...\n");
// fflush(stdout);
// if (!glfwInit()) {
// fprintf(stderr, "glfwInit failed\n");
// return -1;
// }
// printf("glfwInit succeeded!\n");
//
// std::cout << "Starting..." << std::endl;
// glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
// auto window = glfwCreateWindow(1200, 800, "Test", nullptr, nullptr);
//
// std::cout << "GLFW window created" << std::endl;
Artifact::Engine engine;
Artifact::Server server(&engine);
engine.server = &server;
engine.listen<Artifact::Events::Initialized>([](const Artifact::Events::Initialized &ev) {
std::cout << "Initialization complete..." << std::endl;
});
engine.listen<Artifact::Events::DrawUI>([&engine](Artifact::Events::DrawUI ev) {
if(nk_begin(ev.ctx, "Test", nk_rect(0, 0, 100, 100), NK_WINDOW_MOVABLE|NK_WINDOW_SCALABLE|NK_WINDOW_TITLE|NK_WINDOW_BORDER)) {
nk_layout_row_dynamic(ev.ctx, 50, 2);
nk_label(ev.ctx, "Test", NK_TEXT_ALIGN_CENTERED);
if(nk_button_label(ev.ctx, "Test")) {
engine.server->sendMessage(Artifact::Events::Initialized{});
}
}
nk_end(ev.ctx);
});
Artifact::World::NodeDef def_Stone;
def_Stone.visual = Artifact::World::NodeVisual::CUBE;
def_Stone.texture = "rgt_stone_brick.png";
engine.world->nodeRegistry.registerNode("test", def_Stone);
def_Stone.texture = "rgt_stone.png";
engine.world->nodeRegistry.registerNode("test2", def_Stone);
def_Stone.texture = "rgt_grass_top.png";
engine.world->nodeRegistry.registerNode("test3", def_Stone);
engine.run();
return 0;
}