Skip to content
Snippets Groups Projects
Commit a9504863 authored by Hugo Roussel's avatar Hugo Roussel
Browse files

Improve percepts cache

parent 4a1677a6
Branches
No related tags found
2 merge requests!3Merge masters,!2Merge dev into develop
...@@ -439,4 +439,10 @@ public class Percept extends AmoebaAgent { ...@@ -439,4 +439,10 @@ public class Percept extends AmoebaAgent {
public String toString() { public String toString() {
return getName(); return getName();
} }
@Override
public void destroy() {
super.destroy();
getAmas().setPercepts();
}
} }
...@@ -611,22 +611,10 @@ public class AMOEBA extends Amas<World> implements IAMOEBA { ...@@ -611,22 +611,10 @@ public class AMOEBA extends Amas<World> implements IAMOEBA {
} }
public ArrayList<Percept> getPercepts() { public ArrayList<Percept> getPercepts() {
if(percepts == null || percepts.size()==0) { if(percepts == null || percepts.size()==0) {
ArrayList<Percept> pcts = new ArrayList<Percept>(); setPercepts();
for (Agent<? extends Amas<World>, World> agent : getAgents()) { }
if ((agent instanceof Percept)) {
pcts.add((Percept) agent);
}
}
percepts = pcts;
}
return percepts; return percepts;
} }
/** /**
...@@ -834,7 +822,10 @@ public class AMOEBA extends Amas<World> implements IAMOEBA { ...@@ -834,7 +822,10 @@ public class AMOEBA extends Amas<World> implements IAMOEBA {
percepts = new ArrayList<Percept>(); percepts = new ArrayList<Percept>();
for (Agent<? extends Amas<World>, World> agent : getAgents()) { for (Agent<? extends Amas<World>, World> agent : getAgents()) {
if ((agent instanceof Percept)) { if ((agent instanceof Percept)) {
percepts.add((Percept) agent); Percept p = (Percept) agent;
if(!p.isDying()) {
percepts.add(p);
}
} }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment