F4MP/f4mp_originalcode/f4mp/Character.h
Jous99 37b16f1547 code upload
codigo original de f4mp y tilted para referencias
2026-01-06 18:45:00 +01:00

49 lines
No EOL
825 B
C++

#pragma once
#include "Entity.h"
#include "Animator.h"
#include <memory>
#include <atomic>
namespace f4mp
{
class Character : public Entity
{
public:
struct Transform
{
zpl_vec3 position;
zpl_quat rotation;
float scale;
};
struct TransformBuffer
{
std::vector<Transform> prev, next;
double syncTime, time;
float deltaTime;
TransformBuffer();
TransformBuffer(size_t transforms, double syncTime, double time, float deltaTime);
};
Character();
Animator& GetAnimator();
const Animator& GetAnimator() const;
void OnEntityUpdate(librg_event* event) override;
void OnClientUpdate(librg_event* event) override;
void OnTick() override;
private:
std::unique_ptr<Animator> animator;
std::atomic_flag lock = ATOMIC_FLAG_INIT;
TransformBuffer transformBuffer;
};
}