123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #include "SpielObjekt.h"
- #include "Define.h"
- // Inhalt der SpielObjekt Klasse aus SpielObjekt.h
- // Konstruktor
- SpielObjekt::SpielObjekt( ObjektStr *zStr )
- : Model2DObject()
- {
- id = zStr->id;
- style = zStr->style;
- stability = zStr->maxStability;
- energie = zStr->maxEnergie;
- maxStability = zStr->maxStability;
- maxEnergie = zStr->maxEnergie;
- energieRadius = zStr->energieRadius;
- reparatur = zStr->reparatur;
- akkuLeistung = zStr->akkuLeistung;
- team = 0;
- }
- // Destruktor
- SpielObjekt::~SpielObjekt()
- {
- if( team )
- team->release();
- }
- // nicht constant
- void SpielObjekt::setTeam( Team *team )
- {
- if( this->team )
- this->team->release();
- this->team = team;
- }
- bool SpielObjekt::tick( const WeltInfo &info, double zeit )
- {
- repAbk -= zeit;
- if( repAbk < 0 )
- repAbk = 0;
- akkuAbk -= zeit;
- if( akkuAbk < 0 )
- akkuAbk = 0;
- if( !repAbk )
- {
- stability += reparatur * zeit;
- if( stability > maxStability )
- stability = maxStability;
- }
- if( !akkuAbk )
- {
- if( !team )
- {
- energie -= akkuLeistung * zeit;
- if( energie < 0 )
- energie = 0;
- }
- else
- {
- energie += akkuLeistung * zeit;
- if( energie > maxEnergie )
- energie = maxEnergie;
- }
- }
- return Model2DObject::tick( info, zeit );
- }
- // constant
- Team *SpielObjekt::zTeam() const
- {
- return team;
- }
|