feat(entity): the client's physics system component (47)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-10-01 09:01:25 -05:00
parent 5f77dca7e7
commit c65f559b39
2 changed files with 24 additions and 0 deletions

View File

@@ -95,6 +95,7 @@
#include "GateRushComponent.h"
#include "FactionTriggerComponent.h"
#include "RocketLandingComponent.h"
#include "PhysicsSystemComponent.h"
#include "VehiclePhysicsComponent.h"
#include "ProjectilePhysicsComponent.h"
#include "GenericActivatorComponent.h"
@@ -999,6 +1000,12 @@ void Entity::Initialize() {
if (id > -1) AddComponent<VehiclePhysicsComponent>(id);
break;
}
case eReplicaComponentType::PHYSICS_SYSTEM: {
// The client's physics system component: the client makes it from the registry
const auto id = compRegistryTable->GetByIDAndType(m_TemplateID, eReplicaComponentType::PHYSICS_SYSTEM, -1);
if (id > -1) AddComponent<PhysicsSystemComponent>(id);
break;
}
case eReplicaComponentType::ROCKET_LANDING: {
// LWORocketAnimationControlComponent: the client makes it from the registry
const auto id = compRegistryTable->GetByIDAndType(m_TemplateID, eReplicaComponentType::ROCKET_LANDING, -1);

View File

@@ -0,0 +1,17 @@
#ifndef PHYSICSSYSTEMCOMPONENT_H
#define PHYSICSSYSTEMCOMPONENT_H
#include "Component.h"
#include "eReplicaComponentType.h"
/**
* Physics system, as the client's physics system component makes it from the registry. Nothing of it is sent or done on the server yet.
*/
class PhysicsSystemComponent final : public Component {
public:
static constexpr eReplicaComponentType ComponentType = eReplicaComponentType::PHYSICS_SYSTEM;
PhysicsSystemComponent(Entity* parent, const int32_t componentID) : Component(parent, componentID) {}
};
#endif // PHYSICSSYSTEMCOMPONENT_H