DarkflameServer/dGame/dComponents/RigidbodyPhantomPhysicsComponent.h

38 lines
963 B
C
Raw Normal View History

// 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;
2022-07-28 13:39:57 +00:00
/**
* 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;
2022-07-28 13:39:57 +00:00
RigidbodyPhantomPhysicsComponent(Entity* parent, int32_t componentId);
2022-07-28 13:39:57 +00:00
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