00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(__INCLUDE_TargetDefinitionh_INCLUDE__)
00022 #define __INCLUDE_TargetDefinitionh_INCLUDE__
00023
00024 #include <common/ModelID.h>
00025 #include <common/RandomGenerator.h>
00026 #include <engine/ScorchedContext.h>
00027 #include <placement/PlacementShadowDefinition.h>
00028 #include <placement/PlacementGroupDefinition.h>
00029
00030 class Target;
00031 class TargetDefinition
00032 {
00033 public:
00034 TargetDefinition();
00035 virtual ~TargetDefinition();
00036
00037 virtual bool readXML(XMLNode *node, const char *base);
00038 Target *createTarget(unsigned int playerId,
00039 FixedVector &position,
00040 FixedVector &velocity,
00041 ScorchedContext &context,
00042 RandomGenerator &generator);
00043
00044 PlacementShadowDefinition &getShadow() { return shadow_; }
00045 PlacementGroupDefinition &getGroups() { return groups_; }
00046
00047 protected:
00048 fixed life_;
00049 bool boundingsphere_;
00050 bool driveovertodestroy_, flattendestroy_;
00051 bool nocollision_, nodamageburn_, nofalling_;
00052 bool displaydamage_, displayshadow_;
00053 bool displayhardwareshadow_;
00054 bool nofallingdamage_;
00055 LangString name_;
00056 std::string parachute_;
00057 std::string shield_;
00058 FixedVector size_;
00059 fixed modelscale_, modelscalediff_;
00060 fixed modelrotation_, modelbrightness_;
00061 fixed modelrotationsnap_;
00062 fixed border_;
00063 std::string removeaction_;
00064 std::string burnaction_;
00065 ModelID modelId_;
00066 ModelID modelburntId_;
00067 PlacementShadowDefinition shadow_;
00068 PlacementGroupDefinition groups_;
00069 };
00070
00071 #endif // __INCLUDE_TargetDefinitionh_INCLUDE__