aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.h1
-rw-r--r--src/server/game/Entities/Conversation/Conversation.h1
-rw-r--r--src/server/game/Entities/Corpse/Corpse.h1
-rw-r--r--src/server/game/Entities/Creature/Creature.h1
-rw-r--r--src/server/game/Entities/DynamicObject/DynamicObject.h1
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h1
-rw-r--r--src/server/game/Entities/Object/GridObject.h37
-rw-r--r--src/server/game/Entities/Object/Object.h16
-rw-r--r--src/server/game/Entities/Player/Player.h1
-rw-r--r--src/server/game/Entities/SceneObject/SceneObject.h1
10 files changed, 46 insertions, 15 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.h b/src/server/game/Entities/AreaTrigger/AreaTrigger.h
index 6ed8ecf7c87..73037a2b64d 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.h
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.h
@@ -19,6 +19,7 @@
#define TRINITYCORE_AREATRIGGER_H
#include "Object.h"
+#include "GridObject.h"
#include "MapObject.h"
#include "AreaTriggerTemplate.h"
diff --git a/src/server/game/Entities/Conversation/Conversation.h b/src/server/game/Entities/Conversation/Conversation.h
index b175f8b1b17..90ca16acbdd 100644
--- a/src/server/game/Entities/Conversation/Conversation.h
+++ b/src/server/game/Entities/Conversation/Conversation.h
@@ -19,6 +19,7 @@
#define TRINITYCORE_CONVERSATION_H
#include "Object.h"
+#include "GridObject.h"
#include "Hash.h"
class Unit;
diff --git a/src/server/game/Entities/Corpse/Corpse.h b/src/server/game/Entities/Corpse/Corpse.h
index 03e9ebb47e9..5dd29ab5da9 100644
--- a/src/server/game/Entities/Corpse/Corpse.h
+++ b/src/server/game/Entities/Corpse/Corpse.h
@@ -19,6 +19,7 @@
#define TRINITYCORE_CORPSE_H
#include "Object.h"
+#include "GridObject.h"
#include "DatabaseEnvFwd.h"
#include "GridDefines.h"
#include "IteratorPair.h"
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index 7fb73e4d9ed..bd0c84c7300 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -24,6 +24,7 @@
#include "DatabaseEnvFwd.h"
#include "Duration.h"
#include "Loot.h"
+#include "GridObject.h"
#include "MapObject.h"
#include <list>
diff --git a/src/server/game/Entities/DynamicObject/DynamicObject.h b/src/server/game/Entities/DynamicObject/DynamicObject.h
index de1bae637c3..1542280a1f6 100644
--- a/src/server/game/Entities/DynamicObject/DynamicObject.h
+++ b/src/server/game/Entities/DynamicObject/DynamicObject.h
@@ -19,6 +19,7 @@
#define TRINITYCORE_DYNAMICOBJECT_H
#include "Object.h"
+#include "GridObject.h"
#include "MapObject.h"
class Unit;
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index 22b09a74b92..ca7f2a5c8fb 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -19,6 +19,7 @@
#define TRINITYCORE_GAMEOBJECT_H
#include "Object.h"
+#include "GridObject.h"
#include "GameObjectData.h"
#include "Loot.h"
#include "MapObject.h"
diff --git a/src/server/game/Entities/Object/GridObject.h b/src/server/game/Entities/Object/GridObject.h
new file mode 100644
index 00000000000..cde2172623a
--- /dev/null
+++ b/src/server/game/Entities/Object/GridObject.h
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _GRIDOBJECT_H
+#define _GRIDOBJECT_H
+
+#include "GridReference.h"
+#include "GridRefManager.h"
+
+template<class T>
+class GridObject
+{
+ public:
+ virtual ~GridObject() { }
+
+ bool IsInGrid() const { return _gridRef.isValid(); }
+ void AddToGrid(GridRefManager<T>& m) { ASSERT(!IsInGrid()); _gridRef.link(&m, (T*)this); }
+ void RemoveFromGrid() { ASSERT(IsInGrid()); _gridRef.unlink(); }
+ private:
+ GridReference<T> _gridRef;
+};
+
+#endif
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h
index 7bdd6b1d867..242f9151bd7 100644
--- a/src/server/game/Entities/Object/Object.h
+++ b/src/server/game/Entities/Object/Object.h
@@ -20,9 +20,8 @@
#include "Common.h"
#include "Duration.h"
+#include "Errors.h"
#include "EventProcessor.h"
-#include "GridReference.h"
-#include "GridRefManager.h"
#include "ModelIgnoreFlags.h"
#include "MovementInfo.h"
#include "ObjectDefines.h"
@@ -403,19 +402,6 @@ class TC_GAME_API Object
Object& operator=(Object&& right) = delete;
};
-template<class T>
-class GridObject
-{
- public:
- virtual ~GridObject() { }
-
- bool IsInGrid() const { return _gridRef.isValid(); }
- void AddToGrid(GridRefManager<T>& m) { ASSERT(!IsInGrid()); _gridRef.link(&m, (T*)this); }
- void RemoveFromGrid() { ASSERT(IsInGrid()); _gridRef.unlink(); }
- private:
- GridReference<T> _gridRef;
-};
-
template <class T_VALUES, class T_FLAGS, class FLAG_TYPE, size_t ARRAY_SIZE>
class FlaggedValuesArray32
{
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 89b08802e4f..c70df1ecb50 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -18,6 +18,7 @@
#ifndef _PLAYER_H
#define _PLAYER_H
+#include "GridObject.h"
#include "Unit.h"
#include "CUFProfile.h"
#include "DatabaseEnvFwd.h"
diff --git a/src/server/game/Entities/SceneObject/SceneObject.h b/src/server/game/Entities/SceneObject/SceneObject.h
index 6cc749466e6..41c2443c281 100644
--- a/src/server/game/Entities/SceneObject/SceneObject.h
+++ b/src/server/game/Entities/SceneObject/SceneObject.h
@@ -19,6 +19,7 @@
#define SceneObject_h__
#include "Object.h"
+#include "GridObject.h"
struct SceneTemplate;