dustydriver.h

Go to the documentation of this file.
00001 /*
00002 Dusty Engine Library
00003 by Dave Andrews
00004 
00005 Dusty Engine is a task engine using the Irrlicht (irrlicht.sourceforge.net)
00006 3d Engine, by Nikolaus Gebhardt.
00007 
00008 This software is released on the zlib license.  Contents of that license follow.
00009 
00010   Copyright (C) 2005 Dave Andrews
00011 
00012   This software is provided 'as-is', without any express or implied
00013   warranty.  In no event will the authors be held liable for any damages
00014   arising from the use of this software.
00015 
00016   Permission is granted to anyone to use this software for any purpose,
00017   including commercial applications, and to alter it and redistribute it
00018   freely, subject to the following restrictions:
00019 
00020   1. The origin of this software must not be misrepresented; you must not
00021      claim that you wrote the original software. If you use this software
00022      in a product, an acknowledgment in the product documentation would be
00023      appreciated but is not required.
00024   2. Altered source versions must be plainly marked as such, and must not be
00025      misrepresented as being the original software.
00026   3. This notice may not be removed or altered from any source distribution.
00027 
00028   Dave Andrews (dave@daveandrews.org)
00029   
00030 */
00031 
00032 #ifndef __DUSTY_DRIVER_H__
00033 #define __DUSTY_DRIVER_H__
00034 
00035 #include <irrlicht.h>
00036 #include "dustyengine.h"
00037 
00038 namespace DustyEngine
00039 {
00040         class RandGen;
00041         class TaskTree;
00042         class TimeServer;
00043         class Entity;
00044 
00046 
00052         class DUSTYENGINE_API DustyDriver : public irr::IUnknown
00053         {
00054         public:
00056 
00058                 DustyDriver(irr::IrrlichtDevice * device);
00059 
00061                 virtual ~DustyDriver();
00062 
00064                 DustyEngine::RandGen * GetRandGen()
00065                 {
00066                         return randGen;
00067                 }
00068                 
00070                 DustyEngine::TaskTree * GetTaskTree()
00071                 {
00072                         return taskTree;
00073                 }
00074 
00076                 irr::IrrlichtDevice * GetIrrlichtDevice()
00077                 {
00078                         return irrDevice;
00079                 }
00080 
00082                 Entity * CreateEntity();
00083 
00085                 void DestroyEntity(Entity * e);
00086 
00088                 Entity * GetEntityByNode(irr::scene::ISceneNode * node);
00089 
00090         private:
00091                 irr::IrrlichtDevice * irrDevice;
00092                 
00093                 DustyEngine::RandGen * randGen;
00094                 DustyEngine::TaskTree * taskTree;
00095 
00096                 irr::core::list<Entity*> entities;
00097         };
00098 }
00099 
00100 #endif
00101 

Generated on Fri Jan 27 17:31:49 2006 for Dusty Engine by  doxygen 1.4.6-NO