mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-11-14 07:47:13 +00:00
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>
30 lines
811 B
C++
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
|