[Orxonox-commit 5446] r10109 - code/branches/towerdefenseHS14/src/modules/towerdefense

erbj at orxonox.net erbj at orxonox.net
Wed Nov 5 15:59:19 CET 2014


Author: erbj
Date: 2014-11-05 15:59:18 +0100 (Wed, 05 Nov 2014)
New Revision: 10109

Added:
   code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc
   code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.h
Removed:
   code/branches/towerdefenseHS14/src/modules/towerdefense/Enemy.cc
   code/branches/towerdefenseHS14/src/modules/towerdefense/Enemy.h
Modified:
   code/branches/towerdefenseHS14/src/modules/towerdefense/CMakeLists.txt
   code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc
   code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h
   code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefensePrereqs.h
Log:
EnemyAdd implementierung

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/CMakeLists.txt
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/CMakeLists.txt	2014-11-05 14:55:40 UTC (rev 10108)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/CMakeLists.txt	2014-11-05 14:59:18 UTC (rev 10109)
@@ -6,7 +6,7 @@
   TowerDefenseHUDController.cc
   TowerDefensePlayerStats.cc
   TDCoordinate.cc
-  Enemy.cc
+  TowerDefenseEnemy.cc
 
 )
 

Deleted: code/branches/towerdefenseHS14/src/modules/towerdefense/Enemy.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/Enemy.cc	2014-11-05 14:55:40 UTC (rev 10108)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/Enemy.cc	2014-11-05 14:59:18 UTC (rev 10109)
@@ -1,58 +0,0 @@
-//
-//  Enemy.cc
-//  Orxonox
-//
-//  Created by Jonas Erb on 22.10.14.
-
-/**
- at brief
-See TowerDefenseReadme.txt for Information.
-
- at ingroup TowerDefense
-*/
-#include "Enemy.h"
-
-#include "core/CoreIncludes.h"
-//#include "core/XMLPort.h"
-
-namespace orxonox
-{
-    RegisterClass(Enemy);
-
-    /**
-    @brief
-        Constructor. Registers and initializes the object.
-    */
-    Enemy::Enemy(Context* context) : Pawn(context)
-    {
-        RegisterObject(Enemy);
-
-        this->setCollisionType(WorldEntity::Dynamic);
-
-    }
-
-    void Enemy::addWaypoint(TDCoordinate coord)
-    {
-    	Waypointsvector_.push_back(coord);
-    }
-
-    void Enemy::popWaypoint()
-    {
-    	if(Waypointsvector_.size()>0)
-    		Waypointsvector_.pop_back();
-    }
-
-    TDCoordinate Enemy::peekWaypoint()
-    {
-    	if(Waypointsvector_.size()<=0){
-    		TDCoordinate coord = TDCoordinate(-1,-1);
-    		return coord;
-    	}else{
-        	return Waypointsvector_.at(Waypointsvector_.size()-1);
-
-    	}
-
-
-    }
-
-}

Deleted: code/branches/towerdefenseHS14/src/modules/towerdefense/Enemy.h
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/Enemy.h	2014-11-05 14:55:40 UTC (rev 10108)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/Enemy.h	2014-11-05 14:59:18 UTC (rev 10109)
@@ -1,53 +0,0 @@
-//
-//  Enemy.h
-//  Orxonox
-//
-//  Created by Jonas Erb on 22.10.14.
-
-/**
- at brief
-See TowerDefenseReadme.txt for Information.
-
- at ingroup TowerDefense
-*/
-
-
-
-#ifndef Orxonox_Tower_h
-#define Orxonox_Tower_h
-
-#include "TDCoordinate.h"
-#include "towerdefense/TowerDefense.h"
-#include "gametypes/Deathmatch.h"
-#include "towerdefense/TowerDefensePrereqs.h"
-#include "worldentities/pawns/SpaceShip.h"
-
-namespace orxonox
-{
-/* Class to give the enemy spaceships waypoints and
- *
- */
-	class _TowerDefenseExport Enemy : public Pawn
-	{
-
-	public:
-
-		Enemy(Context* context);
-        virtual ~Enemy() {};
-
-        //health gibt es unter: health_
-
-        void addWaypoint(TDCoordinate coord);
-        void popWaypoint();
-        TDCoordinate peekWaypoint();
-	private:
-
-        std::vector<TDCoordinate> Waypointsvector_;
-
-	};
-
-
-
-}
-
-#endif /* _TowerDefense_H__ */

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc	2014-11-05 14:55:40 UTC (rev 10108)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc	2014-11-05 14:59:18 UTC (rev 10109)
@@ -85,7 +85,6 @@
 
 #include "graphics/Model.h"
 #include "infos/PlayerInfo.h"
-
 #include "chat/ChatManager.h"
 #include "core/CoreIncludes.h"
 
@@ -127,6 +126,8 @@
 
     void TowerDefense::start()
     {
+    	orxout() << "test0" << endl;
+
         Deathmatch::start();
 
         const int kInitialTowerCount = 3;
@@ -138,14 +139,70 @@
             addTower(coordinate->x, coordinate->y);
         }
 
-        ChatManager::message("Use the console command addTower x y to add towers");
+        orxout() << "test3" << endl;
 
+        //add some TowerDefenseEnemys
+
+        TDCoordinate* coord1 = new TDCoordinate(1,1);
+        /*TDCoordinate* coord2 = new TDCoordinate(10,10);
+        TDCoordinate* coord3 = new TDCoordinate(1,2);*/
+        std::vector<TDCoordinate> path;
+        path.push_back(*coord1);
+        /*path.push_back(*coord2);
+        path.push_back(*coord3);*/
+
+        for(int i = 0 ; i <4 ; ++i)
+        {
+        	addTowerDefenseEnemy(path);
+        }
+
+        //ChatManager::message("Use the console command addTower x y to add towers");
+
         //TODO: let the player control his controllable entity && TODO: create a new ControllableEntity for the player
     }
 
-    void TowerDefense::addEnemy(){}
+    void TowerDefense::addTowerDefenseEnemy(std::vector<TDCoordinate> path){
 
+    	orxout() << "test1" << endl;
 
+    	TowerDefenseEnemy* en1 = new TowerDefenseEnemy(this->center_->getContext());
+        // Model* TowerDefenseEnemymodel = new Model(this->center_->getContext());
+        //TowerDefenseEnemymodel->setMeshSource("crate.mesh");
+        //TowerDefenseEnemymodel->setPosition(0,0,0);
+        en1->setPosition(path.at(0).get3dcoordinate());
+        //TowerDefenseEnemymodel->setScale(0.2);
+
+        //en1->attach(TowerDefenseEnemymodel);
+
+        //TowerDefenseEnemyvector.push_back(en1);
+
+        orxout() << "test2" << endl;
+
+        /*for(unsigned int i = 0; i < path.size(); ++i)
+        {
+            en1->addWaypoint(path.at(i));
+        }*/
+
+        orxout() << "test6" << endl;
+
+        /*WaypointController *newController = new WaypointController(en1);
+        newController->setAccuracy(3);
+
+        for(int i =0; i < path.size(); ++i)
+        {
+
+            Model *wayPoint = new Model(newController);
+            wayPoint->setMeshSource("crate.mesh");
+            wayPoint->setPosition(path.at(i).get3dcoordinate());
+            wayPoint->setScale(0.2);
+
+            newController->addWaypoint(wayPoint);
+
+        }*/
+
+    }
+
+
     void TowerDefense::end()
     {
         Deathmatch::end();
@@ -157,7 +214,7 @@
 
     void TowerDefense::addTower(int x, int y)
     {
-        const TowerCost towerCost = TDDefaultTowerCost;
+        /*const TowerCost towerCost = TDDefaultTowerCost;
 
         if (!this->hasEnoughCreditForTower(towerCost))
         {
@@ -171,11 +228,11 @@
             return;
         }
 
-        /*
+
         unsigned int width = this->center_->getWidth();
         unsigned int height = this->center_->getHeight();
-        */
 
+
         int tileScale = (int) this->center_->getTileScale();
 
         if (x > 15 || y > 15 || x < 0 || y < 0)
@@ -203,7 +260,7 @@
         newTower->addTemplate(this->center_->getTowerTemplate());
 
         newTower->setPosition(static_cast<float>((x-8) * tileScale), static_cast<float>((y-8) * tileScale), 75);
-        newTower->setGame(this);
+        newTower->setGame(this);*/
     }
 
     bool TowerDefense::hasEnoughCreditForTower(TowerCost towerCost)
@@ -226,7 +283,7 @@
 
     void TowerDefense::tick(float dt)
     {
-        SUPER(TowerDefense, tick, dt);
+        //SUPER(TowerDefense, tick, dt);
     }
 
     // Function to test if we can add waypoints using code only. Doesn't work yet

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h	2014-11-05 14:55:40 UTC (rev 10108)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h	2014-11-05 14:59:18 UTC (rev 10109)
@@ -39,7 +39,10 @@
 #include "TDCoordinate.h"
 #include "towerdefense/TowerDefensePrereqs.h"
 #include "gametypes/Deathmatch.h"
+#include "TowerDefenseEnemy.h"
+#include "util/Output.h"
 
+
  #include "TowerDefensePlayerStats.h"
 
 namespace orxonox
@@ -50,7 +53,9 @@
         TowerDefense(Context* context);
         virtual ~TowerDefense();
 
-        void addEnemy();
+        std::vector<TowerDefenseEnemy*> TowerDefenseEnemyvector;
+
+        void addTowerDefenseEnemy(std::vector<TDCoordinate> path);
         virtual void start(); //<! The function is called when the gametype starts
         virtual void end();
         virtual void tick(float dt);

Added: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc	                        (rev 0)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc	2014-11-05 14:59:18 UTC (rev 10109)
@@ -0,0 +1,60 @@
+//
+//  TowerDefenseEnemy.cc
+//  Orxonox
+//
+//  Created by Jonas Erb on 22.10.14.
+
+/**
+ at brief
+See TowerDefenseReadme.txt for Information.
+
+ at ingroup TowerDefense
+*/
+#include "TowerDefenseEnemy.h"
+
+#include "core/CoreIncludes.h"
+//#include "core/XMLPort.h"
+
+namespace orxonox
+{
+    RegisterClass(TowerDefenseEnemy);
+
+    /**
+    @brief
+        Constructor. Registers and initializes the object.
+    */
+    TowerDefenseEnemy::TowerDefenseEnemy(Context* context) : Pawn(context)
+    {
+        RegisterObject(TowerDefenseEnemy);
+
+        this->setCollisionType(WorldEntity::Dynamic);
+
+    }
+
+    void TowerDefenseEnemy::addWaypoint(TDCoordinate coord)
+    {
+    	orxout() << "test4" << endl;
+    	Waypointsvector_.push_back(coord);
+    	orxout() << "test5" << endl;
+    }
+
+    void TowerDefenseEnemy::popWaypoint()
+    {
+    	if(Waypointsvector_.size()>0)
+    		Waypointsvector_.pop_back();
+    }
+
+    TDCoordinate TowerDefenseEnemy::peekWaypoint()
+    {
+    	if(Waypointsvector_.size()<=0){
+    		TDCoordinate coord = TDCoordinate(-1,-1);
+    		return coord;
+    	}else{
+        	return Waypointsvector_.at(Waypointsvector_.size()-1);
+
+    	}
+
+
+    }
+
+}

Added: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.h
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.h	                        (rev 0)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.h	2014-11-05 14:59:18 UTC (rev 10109)
@@ -0,0 +1,53 @@
+//
+//  TowerDefenseEnemy.h
+//  Orxonox
+//
+//  Created by Jonas Erb on 22.10.14.
+
+/**
+ at brief
+See TowerDefenseReadme.txt for Information.
+
+ at ingroup TowerDefense
+*/
+
+
+
+#ifndef Orxonox_Tower_h
+#define Orxonox_Tower_h
+
+#include "TDCoordinate.h"
+#include "gametypes/Deathmatch.h"
+#include "towerdefense/TowerDefensePrereqs.h"
+#include "worldentities/pawns/SpaceShip.h"
+#include "util/Output.h"
+
+namespace orxonox
+{
+/* Class to give the TowerDefenseEnemy spaceships waypoints and
+ *
+ */
+	class _TowerDefenseExport TowerDefenseEnemy : public Pawn
+	{
+
+	public:
+
+		TowerDefenseEnemy(Context* context);
+        virtual ~TowerDefenseEnemy() {};
+
+        //health gibt es unter: health_
+
+        void addWaypoint(TDCoordinate coord);
+        void popWaypoint();
+        TDCoordinate peekWaypoint();
+	private:
+
+        std::vector<TDCoordinate> Waypointsvector_;
+
+	};
+
+
+
+}
+
+#endif /* _TowerDefense_H__ */

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefensePrereqs.h
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefensePrereqs.h	2014-11-05 14:55:40 UTC (rev 10108)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefensePrereqs.h	2014-11-05 14:59:18 UTC (rev 10109)
@@ -69,6 +69,8 @@
     class TowerDefenseCenterpoint;
     class TowerDefenseHUDController;
     class TowerDefensePlayerStats;
+    class TowerDefenseEnemy;
+    class TDCoordinate;
     class TowerTurret;
 }
 




More information about the Orxonox-commit mailing list