TrinityCore
Loading...
Searching...
No Matches
ZoneScript.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef ZONE_SCRIPT_H_
19#define ZONE_SCRIPT_H_
20
21#include "Define.h"
22#include "ObjectGuid.h"
23
24class Creature;
25class GameObject;
26class Unit;
27class WorldObject;
28struct CreatureData;
29
31{
32 public:
34 virtual ~ZoneScript() { }
35
36 virtual uint32 GetCreatureEntry(ObjectGuid::LowType /*guidLow*/, CreatureData const* data);
37 virtual uint32 GetGameObjectEntry(ObjectGuid::LowType /*guidLow*/, uint32 entry) { return entry; }
38
39 virtual void OnCreatureCreate(Creature* ) { }
40 virtual void OnCreatureRemove(Creature* ) { }
41
42 virtual void OnGameObjectCreate(GameObject* ) { }
43 virtual void OnGameObjectRemove(GameObject* ) { }
44
45 virtual void OnUnitDeath(Unit*) { }
46
47 //All-purpose data storage 64 bit
48 virtual ObjectGuid GetGuidData(uint32 /*DataId*/) const { return ObjectGuid::Empty; }
49 virtual void SetGuidData(uint32 /*DataId*/, ObjectGuid /*Value*/) { }
50
51 virtual uint64 GetData64(uint32 /*DataId*/) const { return 0; }
52 virtual void SetData64(uint32 /*DataId*/, uint64 /*Value*/) { }
53
54 //All-purpose data storage 32 bit
55 virtual uint32 GetData(uint32 /*DataId*/) const { return 0; }
56 virtual void SetData(uint32 /*DataId*/, uint32 /*Value*/) { }
57
58 virtual void ProcessEvent(WorldObject* /*obj*/, uint32 /*eventId*/) { }
59};
60
61#endif
#define TC_GAME_API
Definition Define.h:114
uint64_t uint64
Definition Define.h:132
uint32_t uint32
Definition Define.h:133
static ObjectGuid const Empty
Definition ObjectGuid.h:140
uint32 LowType
Definition ObjectGuid.h:142
Definition Unit.h:769
virtual uint32 GetGameObjectEntry(ObjectGuid::LowType, uint32 entry)
Definition ZoneScript.h:37
virtual void SetData64(uint32, uint64)
Definition ZoneScript.h:52
virtual void OnGameObjectRemove(GameObject *)
Definition ZoneScript.h:43
virtual uint32 GetData(uint32) const
Definition ZoneScript.h:55
virtual void SetData(uint32, uint32)
Definition ZoneScript.h:56
virtual ObjectGuid GetGuidData(uint32) const
Definition ZoneScript.h:48
virtual void ProcessEvent(WorldObject *, uint32)
Definition ZoneScript.h:58
virtual uint64 GetData64(uint32) const
Definition ZoneScript.h:51
virtual void SetGuidData(uint32, ObjectGuid)
Definition ZoneScript.h:49
virtual void OnCreatureRemove(Creature *)
Definition ZoneScript.h:40
virtual void OnCreatureCreate(Creature *)
Definition ZoneScript.h:39
virtual ~ZoneScript()
Definition ZoneScript.h:34
virtual void OnGameObjectCreate(GameObject *)
Definition ZoneScript.h:42
virtual void OnUnitDeath(Unit *)
Definition ZoneScript.h:45