[Orxonox-commit 3507] r8193 - code/trunk/src/modules/objects/triggers
dafrick at orxonox.net
dafrick at orxonox.net
Wed Apr 6 11:12:39 CEST 2011
Author: dafrick
Date: 2011-04-06 11:12:38 +0200 (Wed, 06 Apr 2011)
New Revision: 8193
Modified:
code/trunk/src/modules/objects/triggers/MultiTrigger.cc
code/trunk/src/modules/objects/triggers/TriggerBase.h
Log:
Resolving bug in MultiTrigger.
Modified: code/trunk/src/modules/objects/triggers/MultiTrigger.cc
===================================================================
--- code/trunk/src/modules/objects/triggers/MultiTrigger.cc 2011-04-04 14:53:58 UTC (rev 8192)
+++ code/trunk/src/modules/objects/triggers/MultiTrigger.cc 2011-04-06 09:12:38 UTC (rev 8193)
@@ -115,7 +115,7 @@
this->broadcast(false);
}
- // Check if the object is active (this is NOT MultiTrigger::isActive()!)
+ // Check if the object is active (this is NOT MultiTrigger::isActive()!), it is whether the MultiTrigger actually does anything, ever.
if (!this->BaseObject::isActive())
return;
@@ -204,7 +204,7 @@
if(bActive == true)
{
// If the MultiTrigger has not exceeded its remaining activations.
- if(this->remainingActivations_ > 0)
+ if(this->hasRemainingActivations())
{
this->active_.insert(state->originator);
if(this->remainingActivations_ != INF_s)
@@ -217,7 +217,7 @@
else
{
// If the MultiTrigger doesn't stay active or hasn't' exceeded its remaining activations.
- if(!this->getStayActive() || this->remainingActivations_ > 0)
+ if(!this->getStayActive() || this->hasRemainingActivations())
this->active_.erase(state->originator);
else
bFire = false;
Modified: code/trunk/src/modules/objects/triggers/TriggerBase.h
===================================================================
--- code/trunk/src/modules/objects/triggers/TriggerBase.h 2011-04-04 14:53:58 UTC (rev 8192)
+++ code/trunk/src/modules/objects/triggers/TriggerBase.h 2011-04-06 09:12:38 UTC (rev 8193)
@@ -184,6 +184,9 @@
*/
inline void setActivations(int activations)
{ if(activations >= 0 || activations == INF_s) this->remainingActivations_ = activations; }
+
+ inline bool hasRemainingActivations(void)
+ { return this->remainingActivations_ == INF_s || this->remainingActivations_ > 0; }
/**
@brief Adds the parent of a MultiTrigger.
More information about the Orxonox-commit
mailing list