Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members |
00001 // Copyright (c) 2007-2008 Tomer Nosrati 00002 // This file is part of the "NUSoftware Game Engine". 00003 // For conditions of distribution and use, see copyright notice in nge.hpp 00004 00005 #pragma once 00006 #ifndef __GAME_ENTITY_H__ 00007 #define __GAME_ENTITY_H__ 00008 00009 #include "ILevelNode.hpp" 00010 #include "IZoneLevelNode.hpp" 00011 #include "Irrlicht/irrlicht.h" 00012 00013 using namespace nge::engine; 00014 using namespace irr::scene; 00015 00016 namespace nge 00017 { 00018 namespace game 00019 { 00020 00021 class GameEntity : public ILevelNode 00022 { 00023 public: 00025 GameEntity(ILevelNode* parent, ILevelManager* lmgr, ISceneNode* SceneNode, s32 id); 00026 00028 virtual ~GameEntity(); 00029 00030 virtual void OnRegisterLevelNode(); 00031 00032 virtual E_LEVEL_NODE_TYPE getType() const; 00033 00034 virtual void process() = 0; 00035 00036 virtual void OnEvent(const NGEReceiver* event); 00037 00038 virtual bool isTriggered() const; 00039 00040 virtual void setTriggered(bool isTriggered); 00041 00042 virtual void toggleTriggered(); 00043 00044 virtual ISceneNode* getSceneNode() const; 00045 00046 virtual void setSceneNode(ISceneNode* node); 00047 00049 virtual f32 getMass() const; 00050 00052 virtual void setMass(const f32 Mass); 00053 00055 virtual bool isVerticalMovementEnabled(); 00056 00058 virtual void setVerticalMovementEnabled(bool enabled); 00059 00061 virtual f32 getMoveSpeed() const; 00062 00064 virtual f32 getRotateSpeed() const; 00065 00067 virtual void setMoveSpeed(f32 speed); 00068 00070 virtual void setRotateSpeed(f32 speed); 00071 00073 virtual void invertRotation(bool X, bool Y); 00074 00076 virtual void invertXRotation(bool isInvert); 00077 00079 virtual void invertYRotation(bool isInvert); 00080 00082 virtual bool isXRotationInverted() const; 00083 00085 virtual bool isYRotationInverted() const; 00086 00087 protected: 00088 ISceneNodeControllerAnimator* m_pMovementAnimator; 00089 00090 private: 00091 bool m_IsTriggered; 00092 ISceneNode* m_pSceneNode; 00093 f32 m_Mass; 00094 }; 00095 00096 } // namespace game 00097 } // namespace nge 00098 00099 #endif // __GAME_ENTITY_H__
The NUSoftware Game Engine Documentation © 2007-2008 by Tomer Nosrati. Generated
on Sat Apr 26 16:52:34 2008 by Doxygen
(1.5.5) |