[Orxonox-commit 5460] r10123 - in code/branches/towerdefenseHS14: data/levels/templates src/modules/towerdefense

erbj at orxonox.net erbj at orxonox.net
Wed Nov 12 16:09:36 CET 2014


Author: erbj
Date: 2014-11-12 16:09:35 +0100 (Wed, 12 Nov 2014)
New Revision: 10123

Added:
   code/branches/towerdefenseHS14/data/levels/templates/TowerdefenseEnemy.oxt
Modified:
   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/TowerDefenseEnemy.h
Log:
Template not working

Added: code/branches/towerdefenseHS14/data/levels/templates/TowerdefenseEnemy.oxt
===================================================================
--- code/branches/towerdefenseHS14/data/levels/templates/TowerdefenseEnemy.oxt	                        (rev 0)
+++ code/branches/towerdefenseHS14/data/levels/templates/TowerdefenseEnemy.oxt	2014-11-12 15:09:35 UTC (rev 10123)
@@ -0,0 +1,84 @@
+<Template name=TowerdefenseEnemy>
+  <TowerdefenseEnemy
+   hudtemplate            = spaceshiphud
+   camerapositiontemplate = TowerdefenseEnemycameras
+   spawnparticlesource    = "Orxonox/fairytwirl"
+   spawnparticleduration  = 3
+   explosionchunks        = 6
+
+   health            = 100
+   maxhealth         = 200
+   initialhealth     = 100
+
+   primaryThrust     = 100
+   auxilaryThrust    = 30
+   rotationThrust    = 50
+
+
+   shakeFrequency = 15
+   shakeAmplitude = 9
+
+   collisionType     = "dynamic"
+   mass              = 100
+   linearDamping     = 0.7
+   angularDamping    = 0.9999999
+
+   explosionSound = "sounds/Explosion2.ogg"
+  >
+    <engines>
+      <MultiStateEngine position=" 7.6, 0, 6" template=TowerdefenseEnemyengine />
+      <MultiStateEngine position="-7.6, 0, 0" template=TowerdefenseEnemyengine />
+    </engines>
+    <attached>
+      <Model position="0,0,0" yaw=90 pitch=-90 roll=0 scale=4 mesh="assff.mesh" />
+      <BlinkingBillboard position="17,-1.5,0" material="Examples/Flare" colour="1.0, 0.5, 0.3" amplitude=0.1 frequency=0.5 quadratic=1 />
+      <BlinkingBillboard position="-17,-1.5,0" material="Examples/Flare" colour="0.5, 1.0, 0.3" amplitude=0.1 frequency=0.5 phase=180 quadratic=1 />
+    </attached>
+    <collisionShapes>
+      <BoxCollisionShape position="0,0,0"      halfExtents="10, 3, 5" />
+      <BoxCollisionShape position="13,-1.3,0"  halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="-13,-1.3,0" halfExtents="3, 1, 2" />
+      <BoxCollisionShape position="0,0,7"      halfExtents="3, 2, 2" />
+      <BoxCollisionShape position="0,0.1,-11"  halfExtents="2.2, 1.8, 6" />
+      <BoxCollisionShape position="0,0.1,-19"  halfExtents="1.4, 1, 2" />
+  </TowerdefenseEnemy>
+</Template>
+
+<Template name=TowerdefenseEnemycameras defaults=0>
+  <TowerdefenseEnemy>
+    <camerapositions>
+      <CameraPosition position="0,10, 40" drag=true mouselook=true />
+      <CameraPosition position="0,20, 80" drag=true mouselook=true />
+      <CameraPosition position="0,30,120" drag=true mouselook=true />
+    </camerapositions>
+  </TowerdefenseEnemy>
+</Template>
+
+
+    <EffectContainer condition="idle">
+      <WorldSound mainstate="activity" source="sounds/Engine_idle.ogg" looping=1 active=false/>
+    </EffectContainer>
+    <EffectContainer condition="not idle">
+      <FadingBillboard mainstate=activity active=false scale=0.1 position="7.6, 0, 9" colour="0.2, 0.65, 1.0, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.1 position="-7.6, 0, 9" colour="0.2, 0.65, 1.0, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+    </EffectContainer>
+    <EffectContainer condition="normal or brake">
+
+    </EffectContainer>
+    <EffectContainer condition="normal or boost">
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 7.6, 0, 6" colour="0.2, 0.65, 1.0, 1.0" width=15 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-7.6, 0, 6" colour="0.2, 0.65, 1.0, 1.0" width=15 length=1500 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />
+    </EffectContainer>
+    <EffectContainer condition="boost">
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 7.6, 0, 6" colour="0.6, 0.75, 0.8, 0.7" width=40 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+      <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-7.6, 0, 6" colour="0.6, 0.75, 0.8, 0.7" width=40 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />
+    </EffectContainer>
+<!--    <EffectContainer condition="brake">
+      <FadingBillboard mainstate=activity active=false scale=0.3 position=" 8, 0, 6" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.3 position="-8, 0, 6" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.15 position=" 8, 0, 6" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+      <FadingBillboard mainstate=activity active=false scale=0.15 position="-8, 0, 6" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />
+    </EffectContainer>
+-->
+  </MultiStateEngine>
+</Template>
\ No newline at end of file

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc	2014-11-12 15:08:14 UTC (rev 10122)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.cc	2014-11-12 15:09:35 UTC (rev 10123)
@@ -128,8 +128,10 @@
     {
     	orxout() << "test0" << endl;
 
+
         Deathmatch::start();
 
+/*
         const int kInitialTowerCount = 3;
 
         for (int i = 0; i < kInitialTowerCount; i++)
@@ -138,72 +140,99 @@
             TDCoordinate* coordinate = new TDCoordinate(i,(i*2));
             addTower(coordinate->x, coordinate->y);
         }
+*/
 
         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);*/
+        TDCoordinate* coord2 = new TDCoordinate(1,1);
+        TDCoordinate* coord3 = new TDCoordinate(1,2);
 
-        for(int i = 0 ; i <4 ; ++i)
+
+        std::vector<TDCoordinate*> path;
+
+
+        path.push_back(coord1);
+
+        path.push_back(coord2);
+
+        path.push_back(coord3);
+
+
+
+        for(int i = 0 ; i < 20 ; ++i)
         {
         	addTowerDefenseEnemy(path);
         }
 
+        orxout() << "test7" << endl;
+
         //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::addTowerDefenseEnemy(std::vector<TDCoordinate> path){
+    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->addTemplate("spaceshipassff");
+    	/*en1->setInitialHealth(1000);
+    	en1->setHealth(1000);
+    	en1->setMaxHealth(1000);
+    	en1->setInitialShieldHealth(1000);
+    	en1->setShieldHealth(1000);
+    	en1->setMaxShieldHealth(1000);*/
+    	orxout() << "en1 " << en1->getHealth() << endl;
 
-        //en1->attach(TowerDefenseEnemymodel);
 
-        //TowerDefenseEnemyvector.push_back(en1);
+        Model* TowerDefenseEnemymodel = new Model(this->center_->getContext());
 
+        TowerDefenseEnemymodel->setMeshSource("cube.mesh");
+
+        TowerDefenseEnemymodel->setPosition(0,0,75);
+        en1->setPosition(0,0,150);
+        TowerDefenseEnemymodel->setScale(10);
+
+
+        en1->attach(TowerDefenseEnemymodel);
+
+        TowerDefenseEnemyvector.push_back(en1);
+
         orxout() << "test2" << endl;
 
-        /*for(unsigned int i = 0; i < path.size(); ++i)
+        for(unsigned int i = 0; i < path.size(); ++i)
         {
-            en1->addWaypoint(path.at(i));
-        }*/
-
+            en1->addWaypoint((path.at(i)));
+        }
         orxout() << "test6" << endl;
 
-        /*WaypointController *newController = new WaypointController(en1);
+
+       /* for (int i = 0; i < TowerDefenseEnemyvector.size(); ++i )
+               {
+               	orxout() <<i << " " << TowerDefenseEnemyvector.at(i)->getHealth() << endl;
+               }
+
+        WaypointController *newController = new WaypointController(en1->getContext());//
         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());
+            Model *wayPoint = new Model(en1->getContext());
+            wayPoint->setMeshSource("cube.mesh");
+            wayPoint->setPosition(path.at(i)->get3dcoordinate());
             wayPoint->setScale(0.2);
-
             newController->addWaypoint(wayPoint);
-
         }*/
-
     }
 
 
     void TowerDefense::end()
+
     {
         Deathmatch::end();
 
@@ -213,8 +242,8 @@
 
 
     void TowerDefense::addTower(int x, int y)
-    {
-        /*const TowerCost towerCost = TDDefaultTowerCost;
+    {/*
+        const TowerCost towerCost = TDDefaultTowerCost;
 
         if (!this->hasEnoughCreditForTower(towerCost))
         {
@@ -283,7 +312,14 @@
 
     void TowerDefense::tick(float dt)
     {
-        //SUPER(TowerDefense, tick, dt);
+        SUPER(TowerDefense, tick, dt);
+
+       /* for (int i = 0; i < TowerDefenseEnemyvector.size(); ++i )
+        {
+        	orxout() <<i << " " << TowerDefenseEnemyvector.at(i)->getHealth() << endl;
+        }
+*/
+
     }
 
     // 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-12 15:08:14 UTC (rev 10122)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefense.h	2014-11-12 15:09:35 UTC (rev 10123)
@@ -55,7 +55,7 @@
 
         std::vector<TowerDefenseEnemy*> TowerDefenseEnemyvector;
 
-        void addTowerDefenseEnemy(std::vector<TDCoordinate> path);
+        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);

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc	2014-11-12 15:08:14 UTC (rev 10122)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.cc	2014-11-12 15:09:35 UTC (rev 10123)
@@ -31,13 +31,13 @@
 
     }
 
-    void TowerDefenseEnemy::addWaypoint(TDCoordinate coord)
+    void TowerDefenseEnemy::addWaypoint(TDCoordinate* coord)
     {
     	orxout() << "test4" << endl;
     	Waypointsvector_.push_back(coord);
     	orxout() << "test5" << endl;
     }
-
+/*
     void TowerDefenseEnemy::popWaypoint()
     {
     	if(Waypointsvector_.size()>0)
@@ -47,7 +47,7 @@
     TDCoordinate TowerDefenseEnemy::peekWaypoint()
     {
     	if(Waypointsvector_.size()<=0){
-    		TDCoordinate coord = TDCoordinate(-1,-1);
+    		TDCoordinate* coord = TDCoordinate(-1,-1);
     		return coord;
     	}else{
         	return Waypointsvector_.at(Waypointsvector_.size()-1);
@@ -56,5 +56,5 @@
 
 
     }
-
+*/
 }

Modified: code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.h
===================================================================
--- code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.h	2014-11-12 15:08:14 UTC (rev 10122)
+++ code/branches/towerdefenseHS14/src/modules/towerdefense/TowerDefenseEnemy.h	2014-11-12 15:09:35 UTC (rev 10123)
@@ -37,12 +37,12 @@
 
         //health gibt es unter: health_
 
-        void addWaypoint(TDCoordinate coord);
+        void addWaypoint(TDCoordinate* coord);
         void popWaypoint();
         TDCoordinate peekWaypoint();
 	private:
 
-        std::vector<TDCoordinate> Waypointsvector_;
+        std::vector<TDCoordinate*> Waypointsvector_;
 
 	};
 




More information about the Orxonox-commit mailing list