Index: /code/branches/TowerDefense_HS18/data/levels/towerDefense.oxw
===================================================================
--- /code/branches/TowerDefense_HS18/data/levels/towerDefense.oxw (revision 12164)
+++ /code/branches/TowerDefense_HS18/data/levels/towerDefense.oxw (revision 12165)
@@ -662,4 +662,13 @@
+
+
+
+
+
+
+
+
+
Index: /code/branches/TowerDefense_HS18/src/modules/towerdefense/CMakeLists.txt
===================================================================
--- /code/branches/TowerDefense_HS18/src/modules/towerdefense/CMakeLists.txt (revision 12164)
+++ /code/branches/TowerDefense_HS18/src/modules/towerdefense/CMakeLists.txt (revision 12165)
@@ -11,4 +11,5 @@
TDCoordinate.cc
TowerDefenseController.cc
+ TowerDefenseRangeViewer.cc
)
Index: /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.cc (revision 12164)
+++ /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.cc (revision 12165)
@@ -76,4 +76,5 @@
#include "TowerDefenseCenterpoint.h"
#include "worldentities/SpawnPoint.h"
+#include "worldentities/StaticEntity.h"
#include "TowerDefenseController.h" //muss ich noch in den richtigen Ordner verschieben
#include "graphics/Model.h"
@@ -82,4 +83,7 @@
#include "core/CoreIncludes.h"
#include "Highscore.h"
+#include "util/Output.h"
+#include "TowerDefenseRangeViewer.h"
+
namespace orxonox
@@ -92,4 +96,5 @@
selecter = nullptr;
+ rangeViewer = nullptr;
this->player_ = nullptr;
this->setHUDTemplate("TowerDefenseHUD");
@@ -124,6 +129,12 @@
selecter = new TowerDefenseSelecter(this->center_->getContext());
}
+ if(rangeViewer == nullptr){
+ rangeViewer = new TowerDefenseRangeViewer(this->center_->getContext());
+ }
selecter->addTemplate(center_->getSelecterTemplate());
+ rangeViewer->addTemplate("therangeviewer");
+ rangeViewer->setPosition(-10000,0,-500);
center_->attach(selecter);
+ center_->attach(rangeViewer);
}
else // If no centerpoint was specified, an error is thrown and the level is exited.
@@ -136,4 +147,5 @@
createFields();
+
TeamDeathmatch::start();
@@ -282,4 +294,10 @@
timeUntilNextWave_ -= dt;
timeSinceLastSpawn_ += dt;
+
+ if(selecter != nullptr && getField(selecter->selectedPos_)->canUpgrade() == true ){
+ rangeViewer->setPosition(((selecter->selectedPos_->GetX())-8)*100, ((selecter->selectedPos_->GetY())-8)*100, 200);
+ } else {
+ rangeViewer->setPosition(-10000,0,-500);
+ }
//build/upgrade tower at selecter position
Index: /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.h
===================================================================
--- /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.h (revision 12164)
+++ /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefense.h (revision 12165)
@@ -38,4 +38,5 @@
#include "util/Output.h"
#include "TowerDefenseField.h"
+#include "TowerDefenseRangeViewer.h"
namespace orxonox
@@ -76,5 +77,6 @@
virtual TDCoordinate* getNextStreetCoord(TDCoordinate*);
- TowerDefenseSelecter* selecter;
+ TowerDefenseSelecter* selecter;
+ TowerDefenseRangeViewer* rangeViewer;
private:
Index: /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseField.cc
===================================================================
--- /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseField.cc (revision 12164)
+++ /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseField.cc (revision 12165)
@@ -1,2 +1,3 @@
+
/*
* ORXONOX - the hottest 3D action shooter ever to exist
@@ -282,4 +283,5 @@
}
}
+
}
}
Index: /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefensePrereqs.h
===================================================================
--- /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefensePrereqs.h (revision 12164)
+++ /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefensePrereqs.h (revision 12165)
@@ -68,5 +68,5 @@
class TowerDefenseTower;
-
+ class TowerDefenseRangeViewer;
class TowerDefenseCenterpoint;
class TowerDefenseHUDController;
Index: /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseRangeViewer.cc
===================================================================
--- /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseRangeViewer.cc (revision 12165)
+++ /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseRangeViewer.cc (revision 12165)
@@ -0,0 +1,23 @@
+#include "core/CoreIncludes.h"
+#include "worldentities/StaticEntity.h"
+#include "TowerDefenseRangeViewer.h"
+
+
+#include "util/Output.h"
+
+namespace orxonox {
+ RegisterClass(TowerDefenseRangeViewer);
+ TowerDefenseRangeViewer::TowerDefenseRangeViewer(Context* context) : StaticEntity(context)
+ {
+ RegisterObject(TowerDefenseRangeViewer);
+ }
+
+ TowerDefenseRangeViewer::~TowerDefenseRangeViewer()
+ {
+
+ }
+
+ void TowerDefenseRangeViewer::XMLPort(Element& xmlelement, XMLPort::Mode mode){
+ SUPER(TowerDefenseRangeViewer, XMLPort, xmlelement, mode);
+ }
+}
Index: /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseRangeViewer.h
===================================================================
--- /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseRangeViewer.h (revision 12165)
+++ /code/branches/TowerDefense_HS18/src/modules/towerdefense/TowerDefenseRangeViewer.h (revision 12165)
@@ -0,0 +1,18 @@
+#ifndef _TowerDefenseRangeViewer_H__
+#define _TowerDefenseRangeViewer_H__
+#include "towerdefense/TowerDefensePrereqs.h"
+#include "util/Output.h"
+#include "worldentities/StaticEntity.h"
+
+namespace orxonox
+{
+ class _TowerDefenseExport TowerDefenseRangeViewer : public StaticEntity
+ {
+ public:
+ TowerDefenseRangeViewer(Context* context);
+ virtual ~TowerDefenseRangeViewer();
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+ };
+}
+
+#endif /* _TowerDefenseRangeViewer_H__ */