mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-12-22 21:43:35 +00:00
0f8c5b436d
* brother * use some better logic
38 lines
963 B
C++
38 lines
963 B
C++
// Darkflame Universe
|
|
// Copyright 2024
|
|
|
|
#ifndef RIGIDBODYPHANTOMPHYSICS_H
|
|
#define RIGIDBODYPHANTOMPHYSICS_H
|
|
|
|
#include "BitStream.h"
|
|
#include "dCommonVars.h"
|
|
#include "NiPoint3.h"
|
|
#include "NiQuaternion.h"
|
|
#include "PhysicsComponent.h"
|
|
#include "eReplicaComponentType.h"
|
|
|
|
class dpEntity;
|
|
|
|
/**
|
|
* Component that handles rigid bodies that can be interacted with, mostly client-side rendered. An example is the
|
|
* bananas that fall from trees in GF.
|
|
*/
|
|
class RigidbodyPhantomPhysicsComponent : public PhysicsComponent {
|
|
public:
|
|
static constexpr eReplicaComponentType ComponentType = eReplicaComponentType::RIGID_BODY_PHANTOM_PHYSICS;
|
|
|
|
RigidbodyPhantomPhysicsComponent(Entity* parent, int32_t componentId);
|
|
|
|
void Update(const float deltaTime) override;
|
|
|
|
void Serialize(RakNet::BitStream& outBitStream, bool bIsInitialUpdate) override;
|
|
|
|
void SpawnVertices() const;
|
|
private:
|
|
float m_Scale{};
|
|
|
|
dpEntity* m_dpEntity{};
|
|
};
|
|
|
|
#endif // RIGIDBODYPHANTOMPHYSICS_H
|