mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-11-14 07:47:13 +00:00
Components no longer have a virtual OnUse; each component that reacts to a use registers a RequestUse handler, like the client's components. The entity runs the INTERACT trigger and the script, then delivers a RequestUseEvent (carrying the user) to the handlers. The mission choice of a multi-interact use goes only to the mission offer, as before. Switches keep a direct EnterIfResponding for touches and pets. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
849 B
C++
33 lines
849 B
C++
/*
|
|
* Darkflame Universe
|
|
* Copyright 2018
|
|
*/
|
|
|
|
#ifndef BUILDBORDERCOMPONENT_H
|
|
#define BUILDBORDERCOMPONENT_H
|
|
|
|
#include "BitStream.h"
|
|
#include "Entity.h"
|
|
#include "Component.h"
|
|
#include "eReplicaComponentType.h"
|
|
|
|
/**
|
|
* Component for the build border, allowing the user to start building when interacting with it
|
|
*/
|
|
class BuildBorderComponent final : public Component {
|
|
public:
|
|
static constexpr eReplicaComponentType ComponentType = eReplicaComponentType::BUILD_BORDER;
|
|
|
|
BuildBorderComponent(Entity* parent, const int32_t componentID);
|
|
~BuildBorderComponent() override;
|
|
|
|
/**
|
|
* Causes the originator to start build with this entity as a reference point
|
|
* @param originator the entity (probably a player) that triggered the event
|
|
*/
|
|
bool OnRequestUse(GameMessages::RequestUseEvent& event);
|
|
private:
|
|
};
|
|
|
|
#endif // BUILDBORDERCOMPONENT_H
|