diff --git a/Client/src/asteroid/main.cpp b/Client/src/asteroid/main.cpp index 1a616c8..46a6dd4 100644 --- a/Client/src/asteroid/main.cpp +++ b/Client/src/asteroid/main.cpp @@ -71,7 +71,7 @@ std::int32_t main(std::int32_t argc, gsl::zstring* argv) { window.TryMoveToMonitor(0); veng::Graphics graphics(&window); - veng::Engine engine(&graphics, &tp); + veng::Engine engine(&graphics, &tp, &iocp); engine.LoadModelAsset("assets/player.fbx", "player"); engine.LoadModelAsset("assets/player_flame.fbx", "player_flame"); diff --git a/impl/vulkan_engine/vulkan/engine.cpp b/impl/vulkan_engine/vulkan/engine.cpp index 162757b..d017184 100644 --- a/impl/vulkan_engine/vulkan/engine.cpp +++ b/impl/vulkan_engine/vulkan/engine.cpp @@ -174,4 +174,12 @@ void Engine::Update() { } } +void Engine::NetworkUpload() { + //TODO: 작성하기 +} + +void Engine::RefreshFromServer() { + // TODO: 작성하기 +} + } // namespace veng diff --git a/include/socket/packet.h b/include/socket/packet.h index c644f88..496a01d 100644 --- a/include/socket/packet.h +++ b/include/socket/packet.h @@ -4,7 +4,7 @@ namespace Packet { -enum class Opcode { +enum class Opcode : std::uint16_t { NOP, SPAWNMODEL, DESPAWNMODEL, diff --git a/include/vulkan_engine/vulkan/engine.h b/include/vulkan_engine/vulkan/engine.h index ce15f29..416910f 100644 --- a/include/vulkan_engine/vulkan/engine.h +++ b/include/vulkan_engine/vulkan/engine.h @@ -4,14 +4,15 @@ #include "graphics.h" #include "physics.h" #include "utils/thread_pool.h" +#include "socket/iocp.h" namespace veng { class Engine { public: Engine(gsl::not_null vulkan_graphics, - utils::ThreadPool* thread_pool) - : vulkan_graphics(vulkan_graphics), thread_pool_(thread_pool) {} + utils::ThreadPool* thread_pool, Network::IOCP* iocp) + : vulkan_graphics(vulkan_graphics), thread_pool_(thread_pool), iocp_(iocp) {} void init(); @@ -25,6 +26,9 @@ class Engine { void Update(); + void NetworkUpload(); + void RefreshFromServer(); + std::function BeginPlay = [](Engine& engine) {}; std::function Tick = [](Engine& engine, std::float_t delta_time) {}; @@ -41,6 +45,7 @@ class Engine { Loader asset_loader_; Physics physics_controller_; utils::ThreadPool* thread_pool_; + Network::IOCP* iocp_; glm::ivec2 window_size_ = {0, 0}; std::double_t last_frame_time_ = 0.0;