⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gameentity.h

📁 使用stl技术,(还没看,是听说的)
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -