gameentity.h

来自「使用stl技术,(还没看,是听说的)」· C头文件 代码 · 共 48 行

H
48
字号
#ifndef __GAMEENTITY_H__
# define __GAMEENTITY_H__ 1

//# include <Ogre.h>
# include <OgreCollisionManager.h>

class GameEntity
{
  protected:
	Ogre::SceneManager* mSceneMgr;
	Ogre::SceneNode* mSceneNode;
    Ogre::CollisionEntity* mCollisionEntity;
    Ogre::Entity* mEntity;

  public:
    GameEntity(Ogre::SceneManager* sm) 
      : mSceneMgr(sm),
	    mSceneNode(0), 
	    mCollisionEntity(0),
        mEntity(0) { }

    virtual ~GameEntity() { }

    virtual bool initialise(void) = 0;

    void setPosition(const Ogre::Vector3& v)
    {
      mSceneNode->setPosition(v);
    } 
    
    void setPosition(Ogre::Real x, Ogre::Real y, Ogre::Real z)
    {
      mSceneNode->setPosition(Ogre::Vector3(x, y, z));
    }

    Ogre::CollisionEntity* getCollisionEntity(void)
    {
      return mCollisionEntity;
    }

	bool collide(GameEntity* ent) 
	{ 
	  return Ogre::CollisionManager::getSingleton().collide(mCollisionEntity, 
		  ent->getCollisionEntity()); 
	}
};
#endif // __GAMEENTITY_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?