[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