- Timestamp:
- Sep 15, 2015, 2:20:34 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/towerdefenseFabien/src/modules/towerdefense/TowerDefense.h
r10258 r10586 38 38 #define _TowerDefense_H__ 39 39 #include "TDCoordinate.h" 40 #include "TowerDefenseSelecter.h" 40 41 #include "towerdefense/TowerDefensePrereqs.h" 41 #include "gametypes/ Deathmatch.h"42 #include "gametypes/TeamDeathmatch.h" 42 43 #include "TowerDefenseEnemy.h" 43 44 #include "util/Output.h" 44 #include " core/object/WeakPtr.h"45 #include "TowerDefenseField.h" 45 46 46 47 namespace orxonox 47 48 { 48 class _TowerDefenseExport TowerDefense : public Deathmatch49 class _TowerDefenseExport TowerDefense : public TeamDeathmatch 49 50 { 50 51 public: 51 52 TowerDefense(Context* context); 52 virtual ~TowerDefense(); 53 54 std::vector<orxonox::WeakPtr<TowerDefenseEnemy> > TowerDefenseEnemyvector; 55 bool towermatrix[16][16]; 56 void addTowerDefenseEnemy(std::vector<TDCoordinate*> path, int templatenr); 53 virtual ~TowerDefense(); 54 void addTowerDefenseEnemy(int templatenr); 57 55 virtual void start(); //<! The function is called when the gametype starts 58 56 virtual void end(); 59 57 virtual void tick(float dt); 60 //virtual void playerEntered(PlayerInfo* player); 61 //virtual bool playerLeft(PlayerInfo* player); 62 //Player Stats (set,get, reduce) 58 virtual void spawnPlayer(PlayerInfo* player); 59 PlayerInfo* getPlayer(void) const; 63 60 int getCredit(){ return this->credit_; } 61 void payCredit(int pay){ this->credit_ -= pay; } 64 62 int getLifes(){ return this->lifes_; } 65 63 int getWaveNumber(){ return this->waves_; } … … 69 67 void buyTower(int cost){ credit_ -= cost;} 70 68 void addCredit(int credit) { credit_+=credit; } 71 void nextwave(){ waves_++;}69 void nextwave(){ enemies_.clear(); waves_++; time=0;} 72 70 int reduceLifes(int NumberofLifes){ return lifes_-=NumberofLifes; } 71 TowerDefenseField* getField(TDCoordinate* coord){ return fields_[coord->GetX()][coord->GetY()]; } 72 /* Called by TowerDefenseCenterpoint upon game start 73 The centerpoint is used to create towers 74 */ 75 void setCenterpoint(TowerDefenseCenterpoint* centerpoint); 76 /* Adds a tower at x, y in the playfield */ 77 void addTower(int x, int y); 78 void upgradeTower(int x, int y); 79 virtual TDCoordinate* getNextStreetCoord(TDCoordinate*); 73 80 74 81 //virtual void pawnKilled(Pawn* victim, Pawn* killer = 0); 75 82 //virtual void playerScored(PlayerInfo* player, int score); 76 83 77 78 /* Called by TowerDefenseCenterpoint upon game start 79 The centerpoint is used to create towers 80 */ 81 void setCenterpoint(TowerDefenseCenterpoint *centerpoint); 82 83 /* Adds a tower at x, y in the playfield */ 84 void addTower(int x, int y); 85 86 void upgradeTower(int x, int y); 87 /* Part of a temporary hack to allow the player to add towers */ 88 ConsoleCommand* dedicatedAddTower_; 89 ConsoleCommand* dedicatedUpgradeTower_; 84 TowerDefenseSelecter* selecter; 90 85 91 86 //TODO: void spawnNewWave() … … 93 88 // or spawn a new wave when the old wave has been killed (event driven) 94 89 95 96 90 private: 97 TowerDefenseCenterpoint *center_;98 float time;99 float time 2;91 orxonox::WeakPtr<TowerDefenseCenterpoint> center_; 92 PlayerInfo* player_; 93 float time; 100 94 int credit_; 101 95 int waves_; 102 96 int lifes_; 97 Timer nextwaveTimer_; 98 std::vector<orxonox::WeakPtr<TowerDefenseEnemy> > enemies_; 99 TowerDefenseField* fields_[16][16]; 100 std::vector<orxonox::WeakPtr<TowerDefenseField> > waypoints_; 101 Vector3 endpoint_; 103 102 104 /* handles stats */ 105 bool hasEnoughCreditForTower(int towerCost); 106 bool hasEnoughCreditForUpgrade(); 107 108 109 110 std::vector<TowerTurret*> towers_; 103 void createFields(); 111 104 }; 112 105 }
Note: See TracChangeset
for help on using the changeset viewer.