Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/towerdefenseFabien/src/modules/towerdefense/TowerDefenseEnemy.cc @ 10591

Last change on this file since 10591 was 10591, checked in by fvultier, 9 years ago

Different wave types with different enemies. New field type: obstacle. It is impossible to build a tower on a field with an obstacle.

  • Property svn:eol-style set to native
File size: 1.6 KB
RevLine 
[10109]1//
2//  TowerDefenseEnemy.cc
3//  Orxonox
4//
5//  Created by Jonas Erb on 22.10.14.
6
7/**
8@brief
9See TowerDefenseReadme.txt for Information.
10
11@ingroup TowerDefense
12*/
13#include "TowerDefenseEnemy.h"
14#include "core/CoreIncludes.h"
15//#include "core/XMLPort.h"
16
17namespace orxonox
18{
19    RegisterClass(TowerDefenseEnemy);
20
21    /**
22    @brief
23        Constructor. Registers and initializes the object.
24    */
[10126]25    TowerDefenseEnemy::TowerDefenseEnemy(Context* context) : SpaceShip(context)
[10109]26    {
27        RegisterObject(TowerDefenseEnemy);
28
29        this->setCollisionType(WorldEntity::Dynamic);
[10172]30        //needed to keep track of the PlayerStats coded in TowerDefense.h
[10159]31        this->td = orxonox_cast<TowerDefense*>(this->getGametype().get());
[10586]32        once_ = false;
[10109]33    }
34
[10586]35    TowerDefenseEnemy::~TowerDefenseEnemy()
[10109]36    {
[10591]37
[10109]38    }
[10132]39
40    void TowerDefenseEnemy::tick(float dt)
[10586]41    {   
42        //orxout() << "TDE tick1" << endl;
[10132]43        SUPER(TowerDefenseEnemy, tick, dt);
[10586]44        //orxout() << "TDE tick2" << endl;
[10132]45    }
46
[10256]47    WeakPtr<TowerDefense> TowerDefenseEnemy::getGame()
48    {
49        if (game == NULL)
50        {
51            for (ObjectList<TowerDefense>::iterator it = ObjectList<TowerDefense>::begin(); it != ObjectList<TowerDefense>::end(); ++it)
52                game = *it;
53        }
54        return game;
55    }
56
57    void TowerDefenseEnemy::damage(float damage, float healthdamage, float shielddamage, Pawn* originator)
58    {
59        Pawn::damage(damage, healthdamage, shielddamage, originator);
[10591]60       
[10256]61        if (getGame() && once_ == false && getHealth() <= 0)
62        {
63            getGame()->addCredit(1);
64            once_ = true;
65        }
66    }
[10109]67}
Note: See TracBrowser for help on using the repository browser.