[Orxonox-commit 5477] r10140 - in code/branches/towerdefenseHS14: data/levels data/levels/templates data/overlays src/modules/towerdefense

maxima at orxonox.net maxima at orxonox.net
Wed Nov 26 16:30:11 CET 2014


Author: maxima
Date: 2014-11-26 16:30:10 +0100 (Wed, 26 Nov 2014)
New Revision: 10140

Modified:
   code/branches/towerdefenseHS14/data/levels/templates/tower.oxt
   code/branches/towerdefenseHS14/data/levels/towerDefense.oxw
   code/branches/towerdefenseHS14/data/overlays/towerdefenseHUD.oxo
   code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc
   code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h
   code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc
   code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseHUDController.cc
   code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseHUDController.h
Log:
nhaenni. HUD angepasst.

Modified: code/branches/towerdefenseHS14/data/levels/templates/tower.oxt
===================================================================
--- code/branches/towerdefenseHS14/data/levels/templates/tower.oxt	2014-11-26 15:19:03 UTC (rev 10139)
+++ code/branches/towerdefenseHS14/data/levels/templates/tower.oxt	2014-11-26 15:30:10 UTC (rev 10140)
@@ -8,7 +8,7 @@
    reloadwaittime      = 1
 
    collisionType     = "dynamic"
-   team = 2
+   team = 0
 
 
   >

Modified: code/branches/towerdefenseHS14/data/levels/towerDefense.oxw
===================================================================
--- code/branches/towerdefenseHS14/data/levels/towerDefense.oxw	2014-11-26 15:19:03 UTC (rev 10139)
+++ code/branches/towerdefenseHS14/data/levels/towerDefense.oxw	2014-11-26 15:30:10 UTC (rev 10140)
@@ -20,7 +20,7 @@
   include("templates/spaceshipAssff.oxt")
   include("templates/spaceshipPirate.oxt")
   include("templates/tower.oxt")
-  include("templates/enemytowerdefense.oxt")
+  include("templates/enemyTowerdefense.oxt")
 ?>
 
 <!-- Specify the position of the camera -->

Modified: code/branches/towerdefenseHS14/data/overlays/towerdefenseHUD.oxo
===================================================================
--- code/branches/towerdefenseHS14/data/overlays/towerdefenseHUD.oxo	2014-11-26 15:19:03 UTC (rev 10139)
+++ code/branches/towerdefenseHS14/data/overlays/towerdefenseHUD.oxo	2014-11-26 15:30:10 UTC (rev 10140)
@@ -1,14 +1,82 @@
 <Template name="TowerDefenseHUD">
+
+
   <OverlayGroup name="TowerDefenseHUD" scale = "1, 1">
+  
+  
     <OverlayText
-     position  = "0.05, 0.05"
+     position  = "0.83, 0.05"
      pickpoint = "0.0, 0.0"
      font      = "ShareTechMono"
      textsize  = 0.05
      colour    = "1.0, 1.0, 1.0, 1.0"
      align     = "left"
 
-     caption = "Hello World"
+     caption = "Cash:"
     />
+    
+    
+     <TowerDefenseHUDController
+     position  = "0.88, 0.10"
+     pickpoint = "0.0, 0.0"
+     font      = "ShareTechMono"
+     textsize  = 0.05
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "left"
+		showlives = false
+		showcredits = true
+		showwaves = false
+    />
+    
+        <OverlayText
+     position  = "0.83, 0.22"
+     pickpoint = "0.0, 0.0"
+     font      = "ShareTechMono"
+     textsize  = 0.05
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "left"
+
+     caption = "Lives:"
+    />
+    
+         <TowerDefenseHUDController
+     position  = "0.88, 0.27"
+     pickpoint = "0.0, 0.0"
+     font      = "ShareTechMono"
+     textsize  = 0.05
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "left"
+		showlives = true
+		showcredits = false
+		showwaves = false
+    />
+    
+            <OverlayText
+     position  = "0.83, 0.39"
+     pickpoint = "0.0, 0.0"
+     font      = "ShareTechMono"
+     textsize  = 0.05
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "left"
+
+     caption = "Waves:"
+    />
+    
+         <TowerDefenseHUDController
+     position  = "0.88, 0.44"
+     pickpoint = "0.0, 0.0"
+     font      = "ShareTechMono"
+     textsize  = 0.05
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "left"
+     	showlives = false
+		showcredits = false
+		showwaves = true
+
+    />
+    
+    
   </OverlayGroup>
 </Template>
+
+

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc	2014-11-26 15:19:03 UTC (rev 10139)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc	2014-11-26 15:30:10 UTC (rev 10140)
@@ -129,7 +129,9 @@
     	orxout() << "test0" << endl;
 
         Deathmatch::start();
-
+        credits = 5000;
+        life = 20;
+        waves = 0;
         time=0.0;
 
 /*
@@ -157,26 +159,11 @@
 
     // Generates a TowerDefenseEnemy. Uses Template "enemytowerdefense". Sets position at first waypoint of path.
 
-    void TowerDefense::addTowerDefenseEnemy(std::vector<TDCoordinate*> path, int templatenr){
+    void TowerDefense::addTowerDefenseEnemy(std::vector<TDCoordinate*> path){
 
     	TowerDefenseEnemy* en1 = new TowerDefenseEnemy(this->center_->getContext());
-
-    	switch(templatenr)
-    	{
-    	case 1 :
-    		en1->addTemplate("enemytowerdefense1");
-            en1->setScale(3);
-    		break;
-    	case 2 :
-			en1->addTemplate("enemytowerdefense2");
-	        en1->setScale(2);
-			break;
-    	case 3 :
-			en1->addTemplate("enemytowerdefense3");
-	        en1->setScale(1);
-			break;
-    	}
-
+        en1->addTemplate("enemytowerdefense");
+        en1->setScale(3);
         en1->getController();
 
         en1->setPosition(path.at(0)->get3dcoordinate());
@@ -297,8 +284,7 @@
 
             if(time>1 && TowerDefenseEnemyvector.size() < 30)
             {
-
-            	addTowerDefenseEnemy(path, rand() %3 +1 );
+            	addTowerDefenseEnemy(path);
             	time = time-1;
             }
 

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h	2014-11-26 15:19:03 UTC (rev 10139)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h	2014-11-26 15:30:10 UTC (rev 10140)
@@ -55,13 +55,16 @@
 
         std::vector<TowerDefenseEnemy*> TowerDefenseEnemyvector;
 
-        void addTowerDefenseEnemy(std::vector<TDCoordinate*> path, int templatenr);
+        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);
         //virtual void playerEntered(PlayerInfo* player);
         //virtual bool playerLeft(PlayerInfo* player);
 
+        int credits;
+        int life;
+        int waves;
         //virtual void pawnKilled(Pawn* victim, Pawn* killer = 0);
         //virtual void playerScored(PlayerInfo* player, int score);
 

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc	2014-11-26 15:19:03 UTC (rev 10139)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc	2014-11-26 15:30:10 UTC (rev 10140)
@@ -47,7 +47,9 @@
 
         float distance = ship.distance(*endpoint);
 
+        orxout() << "distance" << distance << endl;
         if(distance <50){
+        	orxout() << "ENEMY KILLED!!!!" << endl;
         	this->destroy(); }
     }
 

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseHUDController.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseHUDController.cc	2014-11-26 15:19:03 UTC (rev 10139)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseHUDController.cc	2014-11-26 15:30:10 UTC (rev 10140)
@@ -31,7 +31,6 @@
 #include "core/XMLPort.h"
 #include "util/Convert.h"
 
-
 namespace orxonox
 {
     RegisterClass(TowerDefenseHUDController);
@@ -49,22 +48,41 @@
     void TowerDefenseHUDController::tick(float dt)
     {
         SUPER(TowerDefenseHUDController, tick, dt);
+
+        if(showlives == true)
+          this->setCaption(multi_cast<std::string>(this->td->life));
+        else if(showcredits == true)
+          this->setCaption(multi_cast<std::string>(this->td->credits));
+        else if(showwaves == true)
+          this->setCaption(multi_cast<std::string>(this->td->waves));
+
+
     }
 
     void TowerDefenseHUDController::XMLPort(Element& xmlelement, XMLPort::Mode mode)
     {
         SUPER(TowerDefenseHUDController, XMLPort, xmlelement, mode);
+
+        XMLPortParam(TowerDefenseHUDController, "showlives", setShowlives, getShowlives, xmlelement, mode);
+        XMLPortParam(TowerDefenseHUDController, "showcredits", setShowcredits, getShowcredits, xmlelement, mode);
+        XMLPortParam(TowerDefenseHUDController, "showwaves", setShowwaves, getShowwaves, xmlelement, mode);
+
     }
 
     void TowerDefenseHUDController::changedOwner()
-    {
-        SUPER(TowerDefenseHUDController, changedOwner);
-        /*
-        if (this->getOwner() != NULL && this->getOwner()->getGametype())
-            this->owner_ = orxonox_cast<Pong*>(this->getOwner()->getGametype().get());
-        else
-            this->owner_ = 0;
-        */
-    }
+        {
+            SUPER(TowerDefenseHUDController, changedOwner);
 
+            td = orxonox_cast<TowerDefense*>(this->getOwner()->getGametype().get());
+
+            /*if (this->getOwner() != NULL && this->getOwner()->getGametype())
+            {
+                this->owner_ = orxonox_cast<TowerDefense*>(this->getOwner()->getGametype().get());
+            }
+            else
+            {
+                this->owner_ = NULL;
+            }*/
+        }
+
 }

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseHUDController.h
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseHUDController.h	2014-11-26 15:19:03 UTC (rev 10139)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseHUDController.h	2014-11-26 15:30:10 UTC (rev 10140)
@@ -41,8 +41,8 @@
 
 #include "tools/interfaces/Tickable.h"
 #include "overlays/OverlayText.h"
+#include "TowerDefense.h"
 
-
 namespace orxonox
 {
     class _TowerDefenseExport TowerDefenseHUDController : public OverlayText, public Tickable
@@ -51,9 +51,31 @@
         TowerDefenseHUDController(Context* context);
         virtual ~TowerDefenseHUDController();
 
+
         virtual void tick(float dt);
         virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
         virtual void changedOwner();
+        void setShowlives(bool temp)
+            { this->showlives = temp; }
+        unsigned int getShowlives(void) const
+            { return this->showlives; }
+
+        void setShowcredits(bool temp)
+            { this->showcredits = temp; }
+        unsigned int getShowcredits(void) const
+            { return this->showcredits; }
+
+        void setShowwaves(bool temp)
+            { this->showwaves = temp; }
+        unsigned int getShowwaves(void) const
+            { return this->showwaves; }
+
+    private:
+        TowerDefense* td;
+
+        bool showcredits;
+        bool showlives;
+        bool showwaves;
     };
 }
 




More information about the Orxonox-commit mailing list