Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/modules/towerdefense/TowerDefenseEnemy.cc @ 11071

Last change on this file since 11071 was 11071, checked in by landauf, 8 years ago

merged branch cpp11_v3 back to trunk

  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
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    */
25    TowerDefenseEnemy::TowerDefenseEnemy(Context* context) : SpaceShip(context)
26    {
27        RegisterObject(TowerDefenseEnemy);
28
29        this->setCollisionType(WorldEntity::CollisionType::Dynamic);
30        //needed to keep track of the PlayerStats coded in TowerDefense.h
31        this->td = orxonox_cast<TowerDefense*>(this->getGametype());
32        once_ = false;
33    }
34
35    TowerDefenseEnemy::~TowerDefenseEnemy()
36    {
37
38    }
39
40    WeakPtr<TowerDefense> TowerDefenseEnemy::getGame()
41    {
42        if (game == nullptr)
43        {
44            for (TowerDefense* towerDefense : ObjectList<TowerDefense>())
45                game = towerDefense;
46        }
47        return game;
48    }
49
50    void TowerDefenseEnemy::damage(float damage, float healthdamage, float shielddamage, Pawn* originator, const btCollisionShape* cs)
51    {
52        Pawn::damage(damage, healthdamage, shielddamage, originator);
53       
54        if (getGame() && once_ == false && getHealth() <= 0)
55        {
56            getGame()->addCredit(1);
57            once_ = true;
58        }
59    }
60}
Note: See TracBrowser for help on using the repository browser.