Files
DarkflameServer/dGame/dComponents/SpawnerComponent.h
Aaron Kimbrell f3ae06cee6 feat(component): the exhibit component (32) the client's loader leaves dead
1.10.64's DoObjectComponentLoad has an EXHIBIT case that makes nothing;
DLU makes ExhibitComponent there, built like LWOExhibitComponent on the
spawner component: its ExhibitComponent row (model offset and size) and the
exhibit_* level keys. It sends nothing in a construction (the client's
Deserialize is empty), so the 12 exhibit LOTs keep their bytes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 16:56:25 -05:00

30 lines
811 B
C++

#ifndef SPAWNERCOMPONENT_H
#define SPAWNERCOMPONENT_H
#include <memory>
#include "Component.h"
#include "eReplicaComponentType.h"
class Spawner;
/**
* The spawner component (10) of a spawner object (LOT 176), made from the registry as the client makes it. It owns the
* spawner (its nodes, what it spawned and its timers); the zone manager indexes spawners by the object's ID.
*/
class SpawnerComponent : public Component {
public:
static constexpr eReplicaComponentType ComponentType = eReplicaComponentType::SPAWNER;
SpawnerComponent(Entity* parent, const int32_t componentID);
~SpawnerComponent() override;
void SetSpawner(std::unique_ptr<Spawner> spawner);
Spawner* GetSpawner() const { return m_Spawner.get(); }
private:
std::unique_ptr<Spawner> m_Spawner;
};
#endif // SPAWNERCOMPONENT_H