From afaf104b4086dbc5245f92a209cb68a088780ebb Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Fri, 21 Dec 2012 12:52:14 +0000 Subject: Added more constants into eEntityType; made them a compulsory parameter to the constructor, so that all entities have proper type. Also added a few utility functions to cEntity for distinguishing the types (IsPlayer(), IsPickup() etc.) git-svn-id: http://mc-server.googlecode.com/svn/trunk@1092 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/Entity.h | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'source/Entity.h') diff --git a/source/Entity.h b/source/Entity.h index 7cb168581..132679db2 100644 --- a/source/Entity.h +++ b/source/Entity.h @@ -77,19 +77,31 @@ public: ENTITY_STATUS_SHEEP_EATING = 10, } ; - cEntity(double a_X, double a_Y, double a_Z); + enum eEntityType + { + etEntity, // For all other types + etPlayer, + etPickup, + etMob, + etFallingBlock, + + // Older constants, left over for compatibility reasons (plugins) + eEntityType_Entity = etEntity, + eEntityType_Player = etPlayer, + eEntityType_Pickup = etPickup, + eEntityType_Mob = etMob, + } ; + + cEntity(eEntityType a_EntityType, double a_X, double a_Y, double a_Z); virtual ~cEntity(); virtual void Initialize(cWorld * a_World); - enum eEntityType - { - eEntityType_Entity, - eEntityType_Player, - eEntityType_Pickup - }; - - virtual unsigned int GetEntityType(void) const { return m_EntityType; } + eEntityType GetEntityType(void) const { return m_EntityType; } + + bool IsPlayer(void) const { return (m_EntityType == etPlayer); } + bool IsPickup(void) const { return (m_EntityType == etPickup); } + bool IsMob (void) const { return (m_EntityType == etMob); } /// Returns true if the entity is of the specified class or a subclass (cPawn's IsA("cEntity") returns true) virtual bool IsA(const char * a_ClassName) const; -- cgit v1.2.3