SimpleActorFactory.hpp

Go to the documentation of this file.
00001 #ifndef SimpleActorFactory_hpp
00002 #define SimpleActorFactory_hpp
00003 
00004 #include "BasicPre.hpp"
00005 #include "sim/custom/Abilities.hpp"
00006 #include "sim/physics/Move.hpp"
00007 #include "comp/CompositeFactory.hpp"
00008 #include "util/bounds/BoundingBox.hpp"
00009 #include "sim/pos/Anim.hpp"
00010 #include "sim/pos/Pos.hpp"
00011 #include "sim/thing/ActorFactory.hpp"
00012 #include "sim/react/CollisionComponentFactory.hpp"
00013 
00014 namespace se_basic {
00015 
00016     class _SeBasicExport SimpleActorFactory : public se_core::CompositeFactory {
00017     public:
00018         SimpleActorFactory(se_core::String* name);
00019         ~SimpleActorFactory();
00020 
00021         se_core::Composite* create() const;
00022 
00023         void setBounds(const se_core::BoundingBox& b);
00024         void setPhysics(const char* name);
00025         void setCollide(const char* name);
00026         void setPickable(bool isPickable);
00027         void setCollideable(bool isCollideable);
00028         void setDefaultAction(const char* name);
00029         void setMass(float m);
00030         void setFriction(float linear, float angular, float bounceDecay);
00031         void setAnim(int id, int movementMode, float pos, float speed);
00032         void setSubstance(int s);
00033 
00037         void setSpawnPoints(int count, se_core::ViewPoint* const* spawnPoints);
00038 
00039     protected:
00040         // Bounding cylinder
00041         se_core::ActorFactory actorFactory_;
00042         se_core::CollisionComponentFactory collisionFactory_;
00043 
00044         se_core::BoundingBox bounds_;
00045         bool isPickable_;
00046         bool isCollideable_;
00047         se_core::Move move_;
00048         const se_core::Physics* physics_;
00049         const se_core::ThingCollide* collide_;
00050         se_core::ActionAndParameter* defaultAction_;
00051         se_core::Abilities abilities_;
00052 
00053 
00054         int spawnPointCount_;
00055         se_core::ViewPoint** spawnPoints_;
00056         int substance_;
00057 
00058         se_core::Anim anim_[se_core::Pos::MAX_ANIMS];
00059     };
00060 
00061 }
00062 
00063 #endif

Home Page | SagaEngine trunk (updated nightly) reference generated Sun Dec 2 20:06:03 2007 by Doxygen version 1.3.9.1.

SourceForge.net Logo