00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <placement/PlacementObjectShadow.h>
00022 #include <engine/ScorchedContext.h>
00023 #include <landscapemap/LandscapeMaps.h>
00024
00025 PlacementObjectShadow::PlacementObjectShadow()
00026 {
00027 }
00028
00029 PlacementObjectShadow::~PlacementObjectShadow()
00030 {
00031 }
00032
00033 bool PlacementObjectShadow::readXML(XMLNode *node)
00034 {
00035 shadowDef_.setDrawShadow(false);
00036 shadowDef_.readXML(node, ".");
00037 size_ = FixedVector(1, 1, 1);
00038 node->getNamedChild("size", size_, false);
00039
00040 return PlacementObject::readXML(node);
00041 }
00042
00043 void PlacementObjectShadow::createObject(ScorchedContext &context,
00044 RandomGenerator &generator,
00045 unsigned int &playerId,
00046 PlacementType::Position &position)
00047 {
00048 context.getLandscapeMaps().getGroundMaps().getGroups().getShadows().push_back(
00049 PlacementShadowDefinition::Entry(
00050 &shadowDef_,
00051 position.position,
00052 size_));
00053 }