[Orxonox-commit 2842] r7545 - in code/trunk/src: libraries/tools modules/pickup/items
dafrick at orxonox.net
dafrick at orxonox.net
Fri Oct 15 08:35:20 CEST 2010
Author: dafrick
Date: 2010-10-15 08:35:20 +0200 (Fri, 15 Oct 2010)
New Revision: 7545
Modified:
code/trunk/src/libraries/tools/Timer.h
code/trunk/src/modules/pickup/items/InvisiblePickup.cc
code/trunk/src/modules/pickup/items/InvisiblePickup.h
Log:
Improvements in InvisiblePickup.
Modified: code/trunk/src/libraries/tools/Timer.h
===================================================================
--- code/trunk/src/libraries/tools/Timer.h 2010-10-15 06:14:03 UTC (rev 7544)
+++ code/trunk/src/libraries/tools/Timer.h 2010-10-15 06:35:20 UTC (rev 7545)
@@ -132,7 +132,7 @@
/// Unpauses the Timer - continues with the given state.
inline void unpauseTimer()
{ this->bActive_ = true; }
- /// Returns true if the Timer is active (neither stoped nor paused).
+ /// Returns true if the Timer is active (neither stopped nor paused).
inline bool isActive() const
{ return this->bActive_; }
/// Returns the remaining time until the Timer calls the executor.
Modified: code/trunk/src/modules/pickup/items/InvisiblePickup.cc
===================================================================
--- code/trunk/src/modules/pickup/items/InvisiblePickup.cc 2010-10-15 06:14:03 UTC (rev 7544)
+++ code/trunk/src/modules/pickup/items/InvisiblePickup.cc 2010-10-15 06:35:20 UTC (rev 7545)
@@ -98,7 +98,6 @@
XMLPortParam(InvisiblePickup, "duration", setDuration, getDuration, xmlelement, mode);
this->initializeIdentifier();
- this->setDurationType(Pickup::durationTypeOnce_s); // The duration type is always once.
}
/**
@@ -134,11 +133,11 @@
{
this->setInvisible(false);
- if(this->isContinuous() || !this->durationTimer_.isActive() && this->durationTimer_.getRemainingTime() == this->getDuration())
+ if((!this->isContinuous() && this->isImmediate()) || (!this->durationTimer_.isActive() && this->durationTimer_.getRemainingTime() == this->getDuration()))
{
this->Pickupable::destroy();
}
- else
+ else if(this->durationTimer_.isActive())
{
this->durationTimer_.pauseTimer();
}
Modified: code/trunk/src/modules/pickup/items/InvisiblePickup.h
===================================================================
--- code/trunk/src/modules/pickup/items/InvisiblePickup.h 2010-10-15 06:14:03 UTC (rev 7544)
+++ code/trunk/src/modules/pickup/items/InvisiblePickup.h 2010-10-15 06:35:20 UTC (rev 7545)
@@ -53,6 +53,15 @@
- The <b>duration type</b> It can be chosen to be either <em>once</em> or <em>continuous</em>. For <em>once</em> the InvisiblePickup just makes the Pawn invisible for as long as it is used, for <em>continuous</em> the Pawn is invisible for the specified duration.
- The <b>duration</b> Specifies how long (in seconds) the invisibility lasts.
+ An examle of a XML implementation of a InvisiblePickup would be:
+ @code
+ <HealthPickup
+ activationType = "immediate"
+ durationType = "continuous"
+ duration = 30.0
+ />
+ @endcode
+
@author
Benedict Simlinger
More information about the Orxonox-commit
mailing list