generated from Persson-dev/Godot-Xmake
better networking
This commit is contained in:
21
src/World.h
21
src/World.h
@@ -2,12 +2,14 @@
|
||||
|
||||
#include <godot_cpp/classes/node3d.hpp>
|
||||
|
||||
#include <blitz/protocol/PacketHandler.h>
|
||||
|
||||
namespace blitz {
|
||||
|
||||
class Player;
|
||||
class NetworkInterface;
|
||||
|
||||
class World : public godot::Node3D {
|
||||
class World : public godot::Node3D, public protocol::PacketHandler {
|
||||
GDCLASS(World, godot::Node3D)
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
@@ -16,19 +18,24 @@ class World : public godot::Node3D {
|
||||
World();
|
||||
~World();
|
||||
|
||||
// Godot overrides
|
||||
void _ready() override;
|
||||
void _process(float delta);
|
||||
|
||||
void _ready() override;
|
||||
Player* GetPlayerById(PlayerID a_PlayerId);
|
||||
|
||||
Player* GetPlayerById(uint64_t a_PlayerId);
|
||||
|
||||
void AddPlayer(int32_t a_PlayerId, godot::String a_PlayerName);
|
||||
void RemovePlayer(int32_t a_PlayerId);
|
||||
void SetPlayerPositionAndRotation(int64_t a_PlayerId, godot::Vector3 a_Position, godot::Vector3 a_Rotation);
|
||||
void HandlePacket(const protocol::packets::PlayerJoin&) override;
|
||||
void HandlePacket(const protocol::packets::PlayerLeave&) override;
|
||||
void HandlePacket(const protocol::packets::PlayerPositionAndRotation&) override;
|
||||
|
||||
private:
|
||||
NetworkInterface* m_NetworkInterface;
|
||||
godot::Node* m_Players;
|
||||
float m_PassedTime;
|
||||
|
||||
|
||||
void AddPlayer(PlayerID a_PlayerId, godot::String a_PlayerName);
|
||||
void RemovePlayer(PlayerID a_PlayerId);
|
||||
void SetPlayerPositionAndRotation(PlayerID a_PlayerId, const godot::Vector3& a_Position, const godot::Vector3& a_Rotation);
|
||||
};
|
||||
} // namespace blitz
|
||||
Reference in New Issue
Block a user