[Orxonox-commit 5746] r10406 - in code/branches/towerdefenseFS15: data/levels src/modules/tetris src/modules/towerdefense
fvultier at orxonox.net
fvultier at orxonox.net
Sun Apr 26 22:16:27 CEST 2015
Author: fvultier
Date: 2015-04-26 22:16:26 +0200 (Sun, 26 Apr 2015)
New Revision: 10406
Modified:
code/branches/towerdefenseFS15/data/levels/towerDefense.oxw
code/branches/towerdefenseFS15/src/modules/tetris/Tetris.h
code/branches/towerdefenseFS15/src/modules/towerdefense/TDCoordinate.cc
code/branches/towerdefenseFS15/src/modules/towerdefense/TDCoordinate.h
code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.cc
code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.h
code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseCenterpoint.cc
code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseCenterpoint.h
code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.cc
code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.h
Log:
There is now a cube that can be moved on the playground using the arrow keys.
Modified: code/branches/towerdefenseFS15/data/levels/towerDefense.oxw
===================================================================
--- code/branches/towerdefenseFS15/data/levels/towerDefense.oxw 2015-04-26 18:49:32 UTC (rev 10405)
+++ code/branches/towerdefenseFS15/data/levels/towerDefense.oxw 2015-04-26 20:16:26 UTC (rev 10406)
@@ -24,25 +24,26 @@
include("templates/standardTurret.oxt")
?>
-<!-- Specify the position of the camera -->
-<Template name=centerpointmarkcamera defaults=0>
- <Pawn team=0>
+
+<Template name=selectercameras defaults=0>
+ <TowerDefenseSelecter>
<camerapositions>
- <CameraPosition position="0,0,1500"/>
+ <CameraPosition position="0,0,1400" lookat="0,0,0" absolute=true />
</camerapositions>
- </Pawn>
+ </TowerDefenseSelecter>
</Template>
-<!-- Loads a mesh to mark the center-->
-<Template name=centerpointmark>
- <Pawn team=0 camerapositiontemplate=centerpointmarkcamera>
+<Template name=selectertemplate>
+ <TowerDefenseSelecter team=0 camerapositiontemplate=selectercameras>
<attached>
- <Model position="0,0,0" mesh="cylinder.mesh" scale3D="1,1,1" /> <!-- the camera is attached to this -->
+ <Model position="0,0,0" mesh="cube.mesh" scale=45 />
</attached>
- </Pawn>
+ </TowerDefenseSelecter>
</Template>
+
+
<Level gametype = "TowerDefense">
<templates>
<Template link=lodtemplate_default />
@@ -58,45 +59,14 @@
<Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/>
<!-- Spawns the camera, attached to a crate -->
- <SpawnPoint team=0 position="0,0,0" pawndesign=centerpointmark />
- <!--TeamSpawnPoint team=0 position="-7,7,4" direction="-1,0,0" roll=90 yaw=0 spawnclass=SpaceShip pawndesign=spaceshipassff /-->
+ <SpawnPoint team=0 position="0,0,0"/>
- <!--SpawnPoint team=0 position="0,0,10" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /-->
- <!--SpawnPoint team=0 position="0,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /-->
-
-
-
-
- <!--invisible entity to attach towers to, since playfield is static and towers are dynamic-->
- <StaticEntity position=0,0,0>
-
- <attached>
- <Model position="-50,-50,0" mesh="Playfield_ME.mesh" scale=80 />
- <!-- Base -->
- <Model position="500,700,100" mesh="sphere.mesh" scale=80 />
- <!--Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /--> <!-- Only temporary needed to help align the collisionshape -->
- <!-- This was used to mark the playfield, let's let it be here for now -->
- <!--Model position="-8,8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /-->
- <!--Model position="-8,-8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /-->
- <!--Model position="8,-8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /-->
- <!--Model position="8,8,0" mesh="crate.mesh" scale3D="0.3,0.3,0.3" /-->
- </attached>
- <collisionShapes> <!-- The collisionshape forbids other worldentities that have a collisionShape to fly through it.
-
- TODO: Find correct size for the collisionshape; since a collisionShape is invisible
- I added the crate wich currently has the same dimensions as the collisionshape.
- You have to adjust the crate's scale3D as well as the collisionshape's halfExtens to
- find the proper shape. -->
- <BoxCollisionShape position="0,0,0" halfExtents="400,400,100" />
- </collisionShapes>
- </StaticEntity>
-
-
-
-
<!-- PlayField -->
<TowerDefenseCenterpoint
name=towerdefensecenter
+
+ selecterTemplate=selectertemplate
+
width=16
height=16
tileScale=100
@@ -104,7 +74,15 @@
direction="0,0,0"
collisionType=dynamic
mass=100000
- />
+ >
+ <attached>
+ <Model position="-50,-50,0" mesh="Playfield_ME.mesh" scale=80 />
+ <Model position="500,700,100" mesh="sphere.mesh" scale=80 />
+ </attached>
+ <camerapositions>
+ <CameraPosition position="0,0,1500" lookat="0,0,0" absolute=true/>
+ </camerapositions>
+ </TowerDefenseCenterpoint>
</Scene>
</Level>
Modified: code/branches/towerdefenseFS15/src/modules/tetris/Tetris.h
===================================================================
--- code/branches/towerdefenseFS15/src/modules/tetris/Tetris.h 2015-04-26 18:49:32 UTC (rev 10405)
+++ code/branches/towerdefenseFS15/src/modules/tetris/Tetris.h 2015-04-26 20:16:26 UTC (rev 10406)
@@ -89,7 +89,6 @@
void findFullRows(void);
void clearRow(unsigned int row);
-
PlayerInfo* player_;
WeakPtr<TetrisCenterpoint> center_; //!< The playing field.
Modified: code/branches/towerdefenseFS15/src/modules/towerdefense/TDCoordinate.cc
===================================================================
--- code/branches/towerdefenseFS15/src/modules/towerdefense/TDCoordinate.cc 2015-04-26 18:49:32 UTC (rev 10405)
+++ code/branches/towerdefenseFS15/src/modules/towerdefense/TDCoordinate.cc 2015-04-26 20:16:26 UTC (rev 10406)
@@ -16,25 +16,62 @@
TDCoordinate::TDCoordinate()
{
//RegisterObject(TDCoordinate);
- x=0;
- y=0;
+ Set(0,0);
}
TDCoordinate::TDCoordinate(int x, int y)
- {
- this->x=x;
- this->y=y;
+ {
+ Set(x,y);
}
+ void TDCoordinate::Set(int x, int y)
+ {
+ if (x < 0)
+ {
+ _x = 0;
+ }
+ else if (x > 15)
+ {
+ _x = 15;
+ }
+ else
+ {
+ _x = x;
+ }
+ if (y < 0)
+ {
+ _y = 0;
+ }
+ else if (y > 15)
+ {
+ _y = 15;
+ }
+ else
+ {
+ _y = y;
+ }
+ }
+
+ int TDCoordinate::GetX()
+ {
+ return _x;
+ }
+
+ int TDCoordinate::GetY()
+ {
+ return _y;
+ }
+
+
Vector3 TDCoordinate::get3dcoordinate()
{
float tileScale = 100;
Vector3 *coord = new Vector3();
- coord->x= (x-8) * tileScale;
- coord->y= (y-8) * tileScale;
+ coord->x= (_x-8) * tileScale;
+ coord->y= (_y-8) * tileScale;
coord->z=100;
return *coord;
Modified: code/branches/towerdefenseFS15/src/modules/towerdefense/TDCoordinate.h
===================================================================
--- code/branches/towerdefenseFS15/src/modules/towerdefense/TDCoordinate.h 2015-04-26 18:49:32 UTC (rev 10405)
+++ code/branches/towerdefenseFS15/src/modules/towerdefense/TDCoordinate.h 2015-04-26 20:16:26 UTC (rev 10406)
@@ -15,16 +15,17 @@
class _TowerDefenseExport TDCoordinate : public OrxonoxClass
{
public:
- int x;
- int y;
-
TDCoordinate();
-
- Vector3 get3dcoordinate();
-
+ TDCoordinate(int x, int y);
virtual ~TDCoordinate() {};
+ virtual void Set(int x, int y);
+ virtual int GetX();
+ virtual int GetY();
+ virtual Vector3 get3dcoordinate();
- TDCoordinate(int x, int y);
+ private:
+ int _x;
+ int _y;
};
}
Modified: code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.cc 2015-04-26 18:49:32 UTC (rev 10405)
+++ code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.cc 2015-04-26 20:16:26 UTC (rev 10406)
@@ -36,7 +36,6 @@
* playerScored() // kann man aufrufen um dem Spieler Punkte zu vergeben.
*
*
- *
*TIPP: Eclipse hilft euch schnell auf bereits vorhanden Funktionen zuzugreifen:
* einfach "this->" eingeben und kurz warten. Dann tauch eine Liste mit Vorschlägen auf. Wenn ihr jetzt weiter
* tippt, werden die Vorschläge entsprechend gefiltert.
@@ -109,8 +108,7 @@
}*/
selecter = NULL;
-
-
+ this->player_ = NULL;
this->setHUDTemplate("TowerDefenseHUD");
this->nextwaveTimer_.setTimer(10, false, createExecutor(createFunctor(&TowerDefense::nextwave, this)));
this->nextwaveTimer_.stopTimer();
@@ -144,10 +142,24 @@
void TowerDefense::start()
{
+ if (center_ != NULL) // There needs to be a TowerDefenseCenterpoint, i.e. the area the game takes place.
+ {
+ if (selecter == NULL)
+ {
+ selecter = new TowerDefenseSelecter(this->center_->getContext());
+ }
+ selecter->addTemplate(center_->getSelecterTemplate());
+ center_->attach(selecter);
+ }
+ else // If no centerpoint was specified, an error is thrown and the level is exited.
+ {
+ orxout(internal_error) << "Jump: No Centerpoint specified." << endl;
+ return;
+ }
TeamDeathmatch::start();
-// Waypoints: [1,3] [10,3] [10,11] [13,11] -> add the points to a matrix so the player cant place towers on the path
+ // Waypoints: [1,3] [10,3] [10,11] [13,11] -> add the points to a matrix so the player cant place towers on the path
for (int i=0; i < 16 ; i++)
{
for (int j = 0; j< 16 ; j++)
@@ -157,8 +169,18 @@
}
}
- selecter = new TowerDefenseSelecter(this->center_->getContext());
+
+ if (player_ != NULL)
+ {
+ //this->player_->startControl(selecter);
+ }
+ else
+ {
+ orxout() << "player=NULL" << endl;
+ }
+
+
Model* dummyModel = new Model(this->center_->getContext());
//the path of the spacehips has to be blocked, so that no towers can be build there
@@ -218,7 +240,7 @@
en1->setTeam(2);
en1->getController();
- en1->setPosition(path.at(0)->get3dcoordinate());
+ en1->setPosition(path.at(0)->get3dcoordinate());
TowerDefenseEnemyvector.push_back(en1);
for(unsigned int i = 0; i < path.size(); ++i)
@@ -236,9 +258,37 @@
}
+ void TowerDefense::spawnPlayer(PlayerInfo* player)
+ {
+ assert(player);
+ this->player_ = player;
+
+ if (selecter->getPlayer() == NULL)
+ {
+ this->player_ = player;
+ player->startControl(selecter);
+ players_[player].state_ = PlayerState::Alive;
+ }
+ }
+
+ /**
+ @brief
+ Get the player.
+ @return
+ Returns a pointer to the player. If there is no player, NULL is returned.
+ */
+ PlayerInfo* TowerDefense::getPlayer(void) const
+ {
+ return this->player_;
+ }
+
//not working yet
void TowerDefense::upgradeTower(int x,int y)
{
+ TDCoordinate* coord = new TDCoordinate(x,y);
+ x = coord->GetX();
+ y = coord->GetY();
+
const int upgradeCost = 20;
if (!this->hasEnoughCreditForTower(upgradeCost))
@@ -265,10 +315,14 @@
/*adds Tower at Position (x,y) and reduces credit and adds the point to the towermatrix. template ("towerturret")
so towers have ability if the turrets
+ */
- */
void TowerDefense::addTower(int x, int y)
- {
+ {
+ TDCoordinate* coord = new TDCoordinate(x,y);
+ x = coord->GetX();
+ y = coord->GetY();
+
const int towerCost = 20;
if (!this->hasEnoughCreditForTower(towerCost))
@@ -290,25 +344,23 @@
int tileScale = (int) this->center_->getTileScale();
- if (x > 15 || y > 15 || x < 0 || y < 0)
+ /*if (x > 15 || y > 15 || x < 0 || y < 0)
{
//Hard coded: TODO: let this depend on the centerpoint's height, width and fieldsize (fieldsize doesn't exist yet)
orxout() << "Can not add Tower: x and y should be between 0 and 15" << endl;
return;
- }
+ }*/
- orxout() << "Will add tower at (" << (x-8) * tileScale << "," << (y-8) * tileScale << ")" << endl;
+ //orxout() << "Will add tower at (" << (x-8) * tileScale << "," << (y-8) * tileScale << ")" << endl;
+ orxout() << "Will add tower at (" << x << "," << y << ")" << endl;
-
//Create Model
- Model* newtowermodel = new Model(this->center_->getContext());
- newtowermodel->setMeshSource("Tower.mesh");
- newtowermodel->setScale(45);
- newtowermodel->setPosition(static_cast<float>((x-8) * tileScale), static_cast<float>((y-8) * tileScale), 50);
+ Model* newTowerModel = new Model(this->center_->getContext());
+ newTowerModel->setMeshSource("Tower.mesh");
+ newTowerModel->setScale(45);
+ newTowerModel->setPosition(static_cast<float>((x-8) * tileScale), static_cast<float>((y-8) * tileScale), 50);
-
-
//Creates tower
TowerDefenseTower* towernew = new TowerDefenseTower(this->center_->getContext());
towernew->setPosition(static_cast<float>((x-8) * tileScale), static_cast<float>((y-8) * tileScale), 275);
@@ -317,9 +369,9 @@
//Reduce credit
this->buyTower(towerCost);
- towerModelMatrix [x][y]= newtowermodel;
+ towerModelMatrix [x][y]= newTowerModel;
towerTurretMatrix [x][y]= towernew;
- }
+ }
bool TowerDefense::hasEnoughCreditForTower(int towerCost)
{
Modified: code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.h
===================================================================
--- code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.h 2015-04-26 18:49:32 UTC (rev 10405)
+++ code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefense.h 2015-04-26 20:16:26 UTC (rev 10406)
@@ -44,6 +44,7 @@
#include "util/Output.h"
#include "core/object/WeakPtr.h"
#include "TowerDefenseSelecter.h"
+#include "graphics/Camera.h"
namespace orxonox
@@ -61,9 +62,8 @@
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);
- //Player Stats (set,get, reduce)
+ virtual void spawnPlayer(PlayerInfo* player);
+ PlayerInfo* getPlayer(void) const;
int getCredit(){ return this->credit_; }
int getLifes(){ return this->lifes_; }
int getWaveNumber(){ return this->waves_; }
@@ -74,7 +74,6 @@
void addCredit(int credit) { credit_+=credit; }
void nextwave(){ TowerDefenseEnemyvector.clear(); waves_++; time=0;}
int reduceLifes(int NumberofLifes){ return lifes_-=NumberofLifes; }
- TDCoordinate* selectedPos;
TowerDefenseSelecter* selecter;
//virtual void pawnKilled(Pawn* victim, Pawn* killer = 0);
@@ -88,7 +87,6 @@
/* Adds a tower at x, y in the playfield */
void addTower(int x, int y);
-
void upgradeTower(int x, int y);
//TODO: void spawnNewWave()
@@ -98,6 +96,7 @@
private:
TowerDefenseCenterpoint *center_;
+ PlayerInfo* player_;
float time;
// float time2;
int credit_;
@@ -108,10 +107,6 @@
/* handles stats */
bool hasEnoughCreditForTower(int towerCost);
bool hasEnoughCreditForUpgrade();
-
-
-
- std::vector<TowerTurret*> towers_;
};
}
Modified: code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseCenterpoint.cc
===================================================================
--- code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseCenterpoint.cc 2015-04-26 18:49:32 UTC (rev 10405)
+++ code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseCenterpoint.cc 2015-04-26 20:16:26 UTC (rev 10406)
@@ -70,6 +70,7 @@
XMLPortParam(TowerDefenseCenterpoint, "width", setWidth, getWidth, xmlelement, mode);
XMLPortParam(TowerDefenseCenterpoint, "height", setHeight, getHeight, xmlelement, mode);
XMLPortParam(TowerDefenseCenterpoint, "tileScale", setTileScale, getTileScale, xmlelement, mode);
+ XMLPortParam(TowerDefenseCenterpoint, "selecterTemplate", setSelecterTemplate, getSelecterTemplate, xmlelement, mode);
//TODO: add XMLPortObject(TowerDefenseCenterpoint, WorldEntity, "waypoints", addWaypoint, getWaypoint, xmlelement, mode);
// This was copied and shightly modified from WaypointController.cc ; there are no getters and setters and no membervariable yet
Modified: code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseCenterpoint.h
===================================================================
--- code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseCenterpoint.h 2015-04-26 18:49:32 UTC (rev 10405)
+++ code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseCenterpoint.h 2015-04-26 20:16:26 UTC (rev 10406)
@@ -59,16 +59,16 @@
*/
void setWidth(unsigned int width)
{ this->width_ = width; }
-
unsigned int getWidth(void) const
{ return this->width_; }
-
void setHeight(unsigned int height)
{ this->height_ = height; }
-
unsigned int getHeight(void) const
{ return this->height_; }
-
+ void setSelecterTemplate(const std::string& newTemplate)
+ { this->selecterTemplate_ = newTemplate; }
+ const std::string& getSelecterTemplate() const
+ { return this->selecterTemplate_; }
/**
@brief How to convert to world coordinates, e.g. that 0,15 is not at -8,-8 but at -80,-80 (if scale would be 10)
*/
@@ -81,6 +81,7 @@
private:
void checkGametype();
+ std::string selecterTemplate_;
unsigned int width_;
unsigned int height_;
unsigned int tileScale_;
Modified: code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.cc
===================================================================
--- code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.cc 2015-04-26 18:49:32 UTC (rev 10405)
+++ code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.cc 2015-04-26 20:16:26 UTC (rev 10406)
@@ -50,12 +50,7 @@
moveDownPressed_ = false;
moveLeftPressed_ = false;
moveRightPressed_ = false;
- selectedPos_ = new TDCoordinate(0,0);
-
- Model* selecterModel = new Model(context);
- selecterModel->setMeshSource("cube.mesh");
- selecterModel->setScale(45);
-
+ setSelectedPosition(0,0);
}
TowerDefenseSelecter::~TowerDefenseSelecter()
@@ -66,8 +61,6 @@
void TowerDefenseSelecter::XMLPort(Element& xmlelement, XMLPort::Mode mode)
{
SUPER(TowerDefenseSelecter, XMLPort, xmlelement, mode);
- // Beispielport // XMLPortParam(TowerDefenseSelecter, "mouseFactor", setMouseFactor, getMouseFactor, xmlelement, mode);
-
}
void TowerDefenseSelecter::tick(float dt)
@@ -76,67 +69,40 @@
if (hasLocalController())
{
+ int selecterPosX = selectedPos_->GetX();
+ int selecterPosY = selectedPos_->GetY();
if (moveUpPressed_ == true)
{
- if(this->selectedPos_->y >= 15)
- {
- }
- else
- {
- this->selectedPos_->y +=1;
- this->setPosition(selectedPos_->get3dcoordinate());
- }
-
+ selectedPos_->Set(selecterPosX, selecterPosY + 1);
+ updatePosition();
+ orxout() << "up" << endl;
}
if (moveDownPressed_ == true)
{
- if(this->selectedPos_->y <= 0)
- {
- }
- else
- {
- this->selectedPos_->y -= 1;
- this->setPosition(selectedPos_->get3dcoordinate());
- }
-
- moveDownPressed_ = false;
+ selectedPos_->Set(selecterPosX, selecterPosY - 1);
+ updatePosition();
+ orxout() << "Down" << endl;
}
if (moveLeftPressed_ == true)
{
- if(this->selectedPos_->x <= 0)
- {
- }
- else
- {
- this->selectedPos_->x -=1;
- this->setPosition(selectedPos_->get3dcoordinate());
- }
-
+ selectedPos_->Set(selecterPosX - 1, selecterPosY);
+ updatePosition();
+ orxout() << "Left" << endl;
}
if (moveRightPressed_ == true)
{
- if(this->selectedPos_->x >= 15)
- {
- }
- else
- {
- this->selectedPos_->x += 1;
- this->setPosition(selectedPos_->get3dcoordinate());
- }
-
- moveDownPressed_ = false;
+ selectedPos_->Set(selecterPosX + 1, selecterPosY);
+ updatePosition();
+ orxout() << "Right" << endl;
}
-
-
/*
if (firePressed_ && timeSinceLastFire_ >= maxFireRate_)
{
firePressed_ = false;
timeSinceLastFire_ = 0.0;
- fireSignal_ = true;
}
*/
}
@@ -145,7 +111,7 @@
moveUpPressed_ = false;
moveDownPressed_ = false;
moveLeftPressed_ = false;
- moveDownPressed_ = false;
+ moveRightPressed_ = false;
//firePressed_ = false;
}
@@ -198,4 +164,22 @@
{
//firePressed_ = true;
}
+
+ void TowerDefenseSelecter::updatePosition()
+ {
+ setPosition(selectedPos_->get3dcoordinate());
+ }
+
+ void TowerDefenseSelecter::setSelectedPosition(TDCoordinate* newPos)
+ {
+ selectedPos_ = newPos;
+ updatePosition();
+ }
+
+ void TowerDefenseSelecter::setSelectedPosition(int x, int y)
+ {
+ setSelectedPosition(new TDCoordinate(x,y));
+ }
+
+
}
Modified: code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.h
===================================================================
--- code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.h 2015-04-26 18:49:32 UTC (rev 10405)
+++ code/branches/towerdefenseFS15/src/modules/towerdefense/TowerDefenseSelecter.h 2015-04-26 20:16:26 UTC (rev 10406)
@@ -40,8 +40,8 @@
public:
TowerDefenseSelecter(Context* context); //!< Constructor. Registers and initializes the object.
virtual ~TowerDefenseSelecter();
- virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
- virtual void tick(float dt);
+ virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+ virtual void tick(float dt);
virtual void moveFrontBack(const Vector2& value); //!< Overloaded the function to steer the bat up and down.
virtual void moveRightLeft(const Vector2& value); //!< Overloaded the function to steer the bat up and down.
virtual void rotateYaw(const Vector2& value);
@@ -49,16 +49,17 @@
virtual void rotateRoll(const Vector2& value);
void fire(unsigned int firemode);
virtual void fired(unsigned int firemode);
+ virtual void setSelectedPosition(TDCoordinate* newPos);
+ virtual void setSelectedPosition(int x, int y);
+
+ private:
+ virtual void updatePosition();
+
TDCoordinate* selectedPos_;
-
-
-
- private:
-
bool moveUpPressed_;
bool moveDownPressed_;
bool moveLeftPressed_;
- bool moveRightPressed_;
+ bool moveRightPressed_;
};
}
More information about the Orxonox-commit
mailing list