[Avida-SVN] r2255 - branches/energy/source/main
beckma24 at myxo.css.msu.edu
beckma24 at myxo.css.msu.edu
Mon Jan 7 07:37:19 PST 2008
Author: beckma24
Date: 2008-01-07 10:37:19 -0500 (Mon, 07 Jan 2008)
New Revision: 2255
Modified:
branches/energy/source/main/cDeme.cc
branches/energy/source/main/cDeme.h
branches/energy/source/main/cTaskLib.cc
Log:
Fixed 'move to target' event
Modified: branches/energy/source/main/cDeme.cc
===================================================================
--- branches/energy/source/main/cDeme.cc 2008-01-04 19:26:48 UTC (rev 2254)
+++ branches/energy/source/main/cDeme.cc 2008-01-07 15:37:19 UTC (rev 2255)
@@ -242,6 +242,16 @@
return cell_events[i];
}
+cOrgMessagePredicate* cDeme::GetMsgPredicate(int i) {
+ assert(i < message_pred_list.Size());
+ return message_pred_list[i];
+}
+
+cOrgMovementPredicate* cDeme::GetMovPredicate(int i) {
+ assert(i < movement_pred_list.Size());
+ return movement_pred_list[i];
+}
+
void cDeme::ClearAllEvents() {
}
Modified: branches/energy/source/main/cDeme.h
===================================================================
--- branches/energy/source/main/cDeme.h 2008-01-04 19:26:48 UTC (rev 2254)
+++ branches/energy/source/main/cDeme.h 2008-01-07 15:37:19 UTC (rev 2255)
@@ -125,6 +125,8 @@
void SetCellEventGradient(int x1, int y1, int x2, int y2, int delay, int duration, bool static_pos, int time_to_live);
int GetNumEvents();
cDemeCellEvent GetEvent(int i);
+ cOrgMessagePredicate* GetMsgPredicate(int i);
+ cOrgMovementPredicate* GetMovPredicate(int i);
void ClearAllEvents();
bool MsgPredSatisfiedPreviously();
bool MovPredSatisfiedPreviously();
Modified: branches/energy/source/main/cTaskLib.cc
===================================================================
--- branches/energy/source/main/cTaskLib.cc 2008-01-04 19:26:48 UTC (rev 2254)
+++ branches/energy/source/main/cTaskLib.cc 2008-01-07 15:37:19 UTC (rev 2255)
@@ -29,6 +29,7 @@
#include "cArgSchema.h"
#include "cDeme.h"
#include "cEnvReqs.h"
+#include "cOrgMessagePredicate.h"
#include "cPopulation.h"
#include "cPopulationCell.h"
#include "tHashTable.h"
@@ -2767,7 +2768,7 @@
cDeme& deme = m_world->GetPopulation().GetDeme(ctx.GetOrgInterface()->GetDemeID());
for(int i = 0; i < deme.GetNumEvents(); i++) {
- if((unsigned int)deme.GetEvent(i).GetEventID() != 0) {
+ if(deme.GetEvent(i).GetEventID() != 0) {
if((unsigned int)deme.GetEvent(i).GetEventID() == last_sent_msg.GetLabel() || (unsigned int)deme.GetEvent(i).GetEventID() == last_sent_msg.GetData()) {
return 1.0;
}
@@ -2825,7 +2826,7 @@
return 0.0;
for(int i = 0; i < deme.GetNumMessagePredicates(); i++) {
- if(deme.GetEvent(i).GetEventID() == cell_data)
+ if(deme.GetMsgPredicate(i)->GetEvent()->GetEventID() == cell_data)
return 1.0;
}
return 0.0;
More information about the Avida-cvs
mailing list