mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-14 17:49:10 +00:00
feat(Core/Scripts): Optimize MovementHandlerScript need#18672 (#18701)
* Add files via upload * Add files via upload
This commit is contained in:
@@ -21,16 +21,18 @@
|
||||
|
||||
void ScriptMgr::OnPlayerMove(Player* player, MovementInfo movementInfo, uint32 opcode)
|
||||
{
|
||||
ExecuteScript<MovementHandlerScript>([&](MovementHandlerScript* script)
|
||||
{
|
||||
script->OnPlayerMove(player, movementInfo, opcode);
|
||||
});
|
||||
CALL_ENABLED_HOOKS(MovementHandlerScript, MOVEMENTHOOK_ON_PLAYER_MOVE, script->OnPlayerMove(player, movementInfo, opcode));
|
||||
}
|
||||
|
||||
MovementHandlerScript::MovementHandlerScript(const char* name) :
|
||||
ScriptObject(name)
|
||||
MovementHandlerScript::MovementHandlerScript(const char* name, std::vector<uint16> enabledHooks) :
|
||||
ScriptObject(name, MOVEMENTHOOK_END)
|
||||
{
|
||||
ScriptRegistry<MovementHandlerScript>::AddScript(this);
|
||||
// If empty - enable all available hooks.
|
||||
if (enabledHooks.empty())
|
||||
for (uint16 i = 0; i < MOVEMENTHOOK_END; i++)
|
||||
enabledHooks.emplace_back(i);
|
||||
|
||||
ScriptRegistry<MovementHandlerScript>::AddScript(this, std::move(enabledHooks));
|
||||
}
|
||||
|
||||
template class AC_GAME_API ScriptRegistry<MovementHandlerScript>;
|
||||
|
||||
@@ -21,10 +21,16 @@
|
||||
#include "Object.h"
|
||||
#include "ScriptObject.h"
|
||||
|
||||
enum MovementHook
|
||||
{
|
||||
MOVEMENTHOOK_ON_PLAYER_MOVE,
|
||||
MOVEMENTHOOK_END
|
||||
};
|
||||
|
||||
class MovementHandlerScript : public ScriptObject
|
||||
{
|
||||
protected:
|
||||
MovementHandlerScript(const char* name);
|
||||
MovementHandlerScript(const char* name, std::vector<uint16> enabledHooks = std::vector<uint16>());
|
||||
|
||||
public:
|
||||
//Called whenever a player moves
|
||||
|
||||
Reference in New Issue
Block a user