aboutsummaryrefslogtreecommitdiff
path: root/src/common/Collision/Models/GameObjectModel.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-04-08 00:04:20 +0200
committerShauren <shauren.trinity@gmail.com>2018-04-08 00:04:20 +0200
commitdad56a224d318fb9fd255ef94c8d1e805c211986 (patch)
treed0adc24d847b64a3d316d5bd32839b5cdf8b0614 /src/common/Collision/Models/GameObjectModel.h
parentd510bb576489b96f9bb7f252acab7c8b8b659f96 (diff)
Core/GameObjects: Skip gameobjects with M2 models when searching for area info (perf optimization, they dont have any area info)
Diffstat (limited to 'src/common/Collision/Models/GameObjectModel.h')
-rw-r--r--src/common/Collision/Models/GameObjectModel.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/common/Collision/Models/GameObjectModel.h b/src/common/Collision/Models/GameObjectModel.h
index e6211cd0243..287f93f87ca 100644
--- a/src/common/Collision/Models/GameObjectModel.h
+++ b/src/common/Collision/Models/GameObjectModel.h
@@ -54,7 +54,7 @@ public:
class TC_COMMON_API GameObjectModel /*, public Intersectable*/
{
- GameObjectModel() : _collisionEnabled(false), iInvScale(0), iScale(0), iModel(nullptr) { }
+ GameObjectModel() : _collisionEnabled(false), iInvScale(0), iScale(0), iModel(nullptr), isWmo(false) { }
public:
std::string name;
@@ -67,6 +67,7 @@ public:
/* Enables/disables collision */
void enableCollision(bool enable) { _collisionEnabled = enable; }
bool isCollisionEnabled() const { return _collisionEnabled; }
+ bool isMapObject() const { return isWmo; }
bool intersectRay(G3D::Ray const& ray, float& maxDist, bool stopAtFirstHit, PhaseShift const& phaseShift) const;
void intersectPoint(G3D::Vector3 const& point, VMAP::AreaInfo& info, PhaseShift const& phaseShift) const;
@@ -86,6 +87,7 @@ private:
float iScale;
VMAP::WorldModel* iModel;
std::unique_ptr<GameObjectModelOwnerBase> owner;
+ bool isWmo;
};
TC_COMMON_API void LoadGameObjectModelList(std::string const& dataPath);