mirror of
https://github.com/zhenyan121/Cubed.git
synced 2026-08-08 17:57:02 +08:00
refactor: move server logic to WorldScene and refactor UI methods
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
#pragma once
|
||||
#include "Cubed/audio/audio_engine.hpp"
|
||||
#include "Cubed/gameplay/network_server.hpp"
|
||||
#include "Cubed/gameplay/server_world.hpp"
|
||||
#define GLFW_INCLUDE_NONE
|
||||
#include "Cubed/argument.hpp"
|
||||
#include "Cubed/config.hpp"
|
||||
@@ -40,7 +38,7 @@ public:
|
||||
Renderer& renderer();
|
||||
TextureManager& texture_manager();
|
||||
Window& window();
|
||||
ServerWorld& server_world();
|
||||
|
||||
Config& config();
|
||||
const Argument& argument() const;
|
||||
AudioEngine& audio();
|
||||
@@ -49,7 +47,7 @@ private:
|
||||
Config m_game_config;
|
||||
|
||||
TextureManager m_texture_manager;
|
||||
NetworkServer m_server;
|
||||
|
||||
AudioEngine m_audio;
|
||||
|
||||
Renderer m_renderer;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "Cubed/camera.hpp"
|
||||
#include "Cubed/dev_panel.hpp"
|
||||
#include "Cubed/gameplay/client_world.hpp"
|
||||
#include "Cubed/gameplay/network_server.hpp"
|
||||
#include "Cubed/scene/scene.hpp"
|
||||
#include "Cubed/ui/world_ui_manager.hpp"
|
||||
namespace Cubed {
|
||||
@@ -26,11 +27,13 @@ public:
|
||||
Camera& camera();
|
||||
SceneManager& scene_manager();
|
||||
ClientWorld& client_world();
|
||||
ServerWorld& server_world();
|
||||
|
||||
private:
|
||||
SceneManager& m_scene_manager;
|
||||
DevPanel m_dev_panel;
|
||||
Camera m_camera;
|
||||
NetworkServer m_server;
|
||||
std::shared_ptr<NetworkClient> m_client;
|
||||
ClientWorld m_client_world;
|
||||
WorldUIManager m_ui_manager;
|
||||
|
||||
@@ -16,9 +16,6 @@ public:
|
||||
Button& operator=(const Button&) = delete;
|
||||
Button& operator=(Button&&) = delete;
|
||||
|
||||
void render(Renderer& renderer) override;
|
||||
void update(float dt) override;
|
||||
|
||||
bool handle_mouse_move_event(const MouseMoveEvent& e) override;
|
||||
bool handle_mouse_button_event(const MouseButtonEvent& e) override;
|
||||
void set_window_size(int width, int height) override;
|
||||
@@ -54,5 +51,8 @@ private:
|
||||
std::unique_ptr<Image> m_background;
|
||||
std::unique_ptr<Label> m_foreground;
|
||||
bool m_hovered = false;
|
||||
|
||||
void on_render(Renderer& renderer) override;
|
||||
void on_update(float dt) override;
|
||||
};
|
||||
} // namespace Cubed
|
||||
@@ -9,8 +9,6 @@ class TextureManager;
|
||||
class Image : public Widget {
|
||||
public:
|
||||
Image(Widget* parent);
|
||||
void update(float dt) override;
|
||||
void render(Renderer& renderer) override;
|
||||
|
||||
Image& set_image(const std::string& path, TextureManager& texture_manager);
|
||||
float width() const override;
|
||||
@@ -20,6 +18,8 @@ public:
|
||||
float scale() const;
|
||||
|
||||
private:
|
||||
void on_render(Renderer& renderer) override;
|
||||
|
||||
const Texture* m_texture = nullptr;
|
||||
glm::vec2 m_pos{0.0f, 0.0f};
|
||||
float m_scale = 1.0f;
|
||||
|
||||
@@ -18,8 +18,6 @@ public:
|
||||
|
||||
Label& set_color(Color color);
|
||||
Label& set_scale(float scale);
|
||||
virtual void update(float dt) override;
|
||||
virtual void render(Renderer& renderer) override;
|
||||
|
||||
const UIVertexData& data() const;
|
||||
|
||||
|
||||
@@ -12,9 +12,6 @@ public:
|
||||
Rect(Widget* parent);
|
||||
~Rect();
|
||||
|
||||
void update(float dt) override;
|
||||
void render(Renderer& renderer) override;
|
||||
|
||||
float width() const override;
|
||||
float height() const override;
|
||||
float alpha() const;
|
||||
@@ -31,6 +28,9 @@ public:
|
||||
Color color() const;
|
||||
|
||||
private:
|
||||
void on_update(float dt) override;
|
||||
void on_render(Renderer& renderer) override;
|
||||
|
||||
Color m_color = Color::WHITE;
|
||||
float m_width = 0.0f;
|
||||
float m_height = 0.0f;
|
||||
|
||||
Reference in New Issue
Block a user