Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

Factory.h

00001 #ifndef ERIS_FACTORY_H
00002 #define ERIS_FACTORY_H
00003 
00004 namespace Atlas {
00005         namespace Objects {namespace Entity {class GameEntity;}}
00006         namespace Message {class Element;}
00007 }
00008 
00009 namespace Eris {
00010 
00011 // forward decls        
00012 class Entity;
00013 class World;
00014 
00016 class Factory
00017 {
00018 public: 
00020 
00023         //virtual bool Accept(const Atlas::Message::Element &o) = 0;
00024         virtual bool accept(const Atlas::Objects::Entity::GameEntity &ge, World *world) = 0;
00025 
00027         virtual Entity* instantiate(const Atlas::Objects::Entity::GameEntity &ge, World *world) = 0;
00028         //virtual Entity* Instantiate(const Atlas::Message::Element &o) = 0;
00029 };
00030 
00031 class StdFactory : public Factory
00032 {
00033 public:
00034         virtual bool accept(const Atlas::Objects::Entity::GameEntity &ge, World *world);
00035         virtual Entity* instantiate(const Atlas::Objects::Entity::GameEntity &ge, World *world);
00036 };
00037         
00038 
00039 } // of namespace
00040 
00041 #endif

Generated on Wed Nov 10 20:56:36 2004 for Eris by  doxygen 1.3.9.1