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.