Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members

GameEntity.hpp

Go to the documentation of this file.
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
The NUSoftware Game Engine Documentation © 2007-2008 by Tomer Nosrati. Generated on Sat Apr 26 16:52:34 2008 by Doxygen (1.5.5)