feat(entity): the client's custom build assembly component (59)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-10-01 07:10:50 -05:00
parent 6628aa2d45
commit 4dba9c2aeb
2 changed files with 24 additions and 0 deletions

View File

@@ -90,6 +90,7 @@
#include "CollectibleComponent.h"
#include "ItemComponent.h"
#include "MinifigComponent.h"
#include "CustomBuildAssemblyComponent.h"
#include "PackageComponent.h"
#include "ChoiceBuildComponent.h"
#include "ChangelingComponent.h"
@@ -1050,6 +1051,12 @@ void Entity::Initialize() {
if (id > -1) AddComponent<PackageComponent>(id);
break;
}
case eReplicaComponentType::CUSTOM_BUILD_ASSEMBLY: {
// LWOCustomBuildAssemblyComponent: the client makes it from the registry
const auto id = compRegistryTable->GetByIDAndType(m_TemplateID, eReplicaComponentType::CUSTOM_BUILD_ASSEMBLY, -1);
if (id > -1) AddComponent<CustomBuildAssemblyComponent>(id);
break;
}
default:
break;
}

View File

@@ -0,0 +1,17 @@
#ifndef CUSTOMBUILDASSEMBLYCOMPONENT_H
#define CUSTOMBUILDASSEMBLYCOMPONENT_H
#include "Component.h"
#include "eReplicaComponentType.h"
/**
* Custom build assembly, as the client's LWOCustomBuildAssemblyComponent makes it from the registry. Nothing of it is sent or done on the server yet.
*/
class CustomBuildAssemblyComponent final : public Component {
public:
static constexpr eReplicaComponentType ComponentType = eReplicaComponentType::CUSTOM_BUILD_ASSEMBLY;
CustomBuildAssemblyComponent(Entity* parent, const int32_t componentID) : Component(parent, componentID) {}
};
#endif // CUSTOMBUILDASSEMBLYCOMPONENT_H