[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