Files
Blitz3/include/client/Player.h
2024-08-21 12:52:00 +02:00

44 lines
802 B
C++

#pragma once
#include <godot_cpp/classes/animation_tree.hpp>
#include <godot_cpp/classes/character_body3d.hpp>
#include <godot_cpp/classes/node3d.hpp>
#include <blitz/common/Types.h>
namespace blitz {
class World;
class Player : public godot::CharacterBody3D {
GDCLASS(Player, godot::CharacterBody3D);
protected:
static void _bind_methods();
public:
Player();
~Player();
void _ready();
virtual void _physics_process(float delta);
void animate(float delta);
godot::Vector3 GetCameraRotation() const;
void SetCameraRotation(const godot::Vector3& a_Rotation);
PlayerID GetId() const {
return m_PeerId;
}
protected:
godot::Node3D* m_Mesh;
godot::AnimationTree* m_AnimationTree;
godot::Vector3 m_SnapVector;
PeerID m_PeerId;
friend class World;
};
} // namespace blitz