diff options
| author | Razor2142 <Razor2142@graveyardgames.net> | 2025-02-16 23:26:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-16 23:26:07 +0100 |
| commit | 8cc47ab1f174e82d74b2e17b4af13ded0f37a693 (patch) | |
| tree | 28a93ac2bfb9eb98618b99668743447b45d6a1e9 /src/server/game/Scripting/ScriptDefines | |
| parent | 92ef042f338d6bccebb4aa7c0873bb03768c0566 (diff) | |
feat(Script/Instance): added generic instance map script (#21218)
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
Diffstat (limited to 'src/server/game/Scripting/ScriptDefines')
| -rw-r--r-- | src/server/game/Scripting/ScriptDefines/InstanceMapScript.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptDefines/InstanceMapScript.h b/src/server/game/Scripting/ScriptDefines/InstanceMapScript.h index edbc9a3baa..74b5024ba3 100644 --- a/src/server/game/Scripting/ScriptDefines/InstanceMapScript.h +++ b/src/server/game/Scripting/ScriptDefines/InstanceMapScript.h @@ -34,4 +34,14 @@ public: virtual InstanceScript* GetInstanceScript(InstanceMap* /*map*/) const { return nullptr; } }; +template<typename IS> +class GenericInstanceMapScript : public InstanceMapScript +{ +public: + GenericInstanceMapScript(char const* name, uint32 mapId) : InstanceMapScript(name, mapId) { } + InstanceScript* GetInstanceScript(InstanceMap* map) const override { return new IS(map); } +}; + +#define RegisterInstanceScript(script_name, mapId) new GenericInstanceMapScript<script_name>(#script_name, mapId) + #endif |
