Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Oct 10, 2015, 4:34:26 PM (9 years ago)
Author:
fvultier
Message:

Merged towerdefenseFabien branch back to trunk. The towerdefense Minigame is now a plugin.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/modules/towerdefense/TowerDefense.h

    r10622 r10629  
    4343#include "TowerDefenseEnemy.h"
    4444#include "util/Output.h"
    45 #include "core/object/WeakPtr.h"
    46 #include "TowerDefenseSelecter.h"
    47 #include "graphics/Camera.h"   
    48 
     45#include "TowerDefenseField.h"
    4946
    5047namespace orxonox
     
    5451    public:
    5552        TowerDefense(Context* context);
    56         virtual ~TowerDefense();
    57 
    58         std::vector<orxonox::WeakPtr<TowerDefenseEnemy> > TowerDefenseEnemyvector;
    59         Model* towerModelMatrix[16][16];
    60         TowerDefenseTower* towerTurretMatrix[16][16];
    61         void addTowerDefenseEnemy(std::vector<TDCoordinate*> path, int templatenr);
     53        virtual ~TowerDefense();       
     54        void addTowerDefenseEnemy(int templatenr);
    6255        virtual void start(); //<! The function is called when the gametype starts
    6356        virtual void end();
     
    6659        PlayerInfo* getPlayer(void) const;
    6760        int getCredit(){ return this->credit_; }
     61        void payCredit(int pay){ this->credit_ -= pay; }
    6862        int getLifes(){ return this->lifes_; }
    69         int getWaveNumber(){ return this->waves_; }
     63        int getWaveNumber(){ return this->waveNumber_; }
     64        void setWaveNumber(int wavenumber){ waveNumber_=wavenumber; }
    7065        void setCredit(int credit){ credit_ = credit; }
    71         void setLifes(int lifes){ lifes_ = lifes; }
    72         void setWaveNumber(int wavenumber){ waves_=wavenumber; }
    73         void buyTower(int cost){ credit_ -= cost;}
     66        void setLifes(int lifes){ lifes_ = lifes; }       
     67        void buyTower(int cost){ cost -= cost;}
    7468        void addCredit(int credit) { credit_+=credit; }
    75         void nextwave();
    7669        int reduceLifes(int NumberofLifes){ return lifes_-=NumberofLifes; }
    77         TowerDefenseSelecter* selecter;
    78         int spaceships;
    79         int eggs;
    80         int ufos;
    81         int randomships;
    82 
    83 
    84         //virtual void pawnKilled(Pawn* victim, Pawn* killer = 0);
    85         //virtual void playerScored(PlayerInfo* player, int score);
    86 
    87 
    88         /*  Called by TowerDefenseCenterpoint upon game start
    89             The centerpoint is used to create towers
    90         */
    91         void setCenterpoint(TowerDefenseCenterpoint *centerpoint);
    92 
    93         /* Adds a tower at x, y in the playfield */
     70        TowerDefenseField* getField(TDCoordinate* coord){ return fields_[coord->GetX()][coord->GetY()]; }
     71        void setCenterpoint(TowerDefenseCenterpoint* centerpoint);       
    9472        void addTower(int x, int y);
    95         void upgradeTower(int x, int y);
    96 
    97         //TODO: void spawnNewWave()
    98         //TODO: create a timer which regularly calls the spawnNewWave function  (time driven)
    99         //      or spawn a new wave when the old wave has been killed           (event driven)
    100 
     73        void upgradeTower(int x, int y);
     74        virtual TDCoordinate* getNextStreetCoord(TDCoordinate*);
     75       
     76        TowerDefenseSelecter* selecter;       
    10177
    10278    private:
    103         TowerDefenseCenterpoint *center_;
     79        void createFields();
     80
     81        orxonox::WeakPtr<TowerDefenseCenterpoint> center_;
    10482        PlayerInfo* player_;
    105         float time;
    106         float timeSetTower_;
    107 //        float time2;
     83        float timeSinceLastSpawn_;
     84        float timeUntilNextWave_;
     85        int waveSize_;
    10886        int credit_;
    109         int waves_;
     87        int waveNumber_;
    11088        int lifes_;
    111         Timer nextwaveTimer_;
    112 
    113         /* handles stats */
    114         bool hasEnoughCreditForTower(int towerCost);
    115         bool hasEnoughCreditForUpgrade();
     89        std::list<orxonox::WeakPtr<TowerDefenseEnemy> > enemies_;
     90        TowerDefenseField* fields_[16][16];
     91        std::vector<orxonox::WeakPtr<TowerDefenseField> > waypoints_;
     92        Vector3 endpoint_;
     93        Vector3 offset_;       
    11694    };
    11795}
Note: See TracChangeset for help on using the changeset viewer.