From a95048639a27751eca6e2ff7ce4adb68758c60b1 Mon Sep 17 00:00:00 2001 From: Hugo Roussel <hugo.roussel@univ-tlse3.fr> Date: Wed, 10 Jul 2019 16:06:07 +0200 Subject: [PATCH] Improve percepts cache --- AMOEBAonAMAK/src/agents/percept/Percept.java | 6 ++++++ AMOEBAonAMAK/src/kernel/AMOEBA.java | 21 ++++++-------------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/AMOEBAonAMAK/src/agents/percept/Percept.java b/AMOEBAonAMAK/src/agents/percept/Percept.java index 633a06b3..06496946 100644 --- a/AMOEBAonAMAK/src/agents/percept/Percept.java +++ b/AMOEBAonAMAK/src/agents/percept/Percept.java @@ -439,4 +439,10 @@ public class Percept extends AmoebaAgent { public String toString() { return getName(); } + + @Override + public void destroy() { + super.destroy(); + getAmas().setPercepts(); + } } diff --git a/AMOEBAonAMAK/src/kernel/AMOEBA.java b/AMOEBAonAMAK/src/kernel/AMOEBA.java index 53a894b5..d05843c6 100644 --- a/AMOEBAonAMAK/src/kernel/AMOEBA.java +++ b/AMOEBAonAMAK/src/kernel/AMOEBA.java @@ -611,22 +611,10 @@ public class AMOEBA extends Amas<World> implements IAMOEBA { } public ArrayList<Percept> getPercepts() { - - if(percepts == null || percepts.size()==0) { - ArrayList<Percept> pcts = new ArrayList<Percept>(); - for (Agent<? extends Amas<World>, World> agent : getAgents()) { - if ((agent instanceof Percept)) { - pcts.add((Percept) agent); - } - } - percepts = pcts; - } - - + setPercepts(); + } return percepts; - - } /** @@ -834,7 +822,10 @@ public class AMOEBA extends Amas<World> implements IAMOEBA { percepts = new ArrayList<Percept>(); for (Agent<? extends Amas<World>, World> agent : getAgents()) { if ((agent instanceof Percept)) { - percepts.add((Percept) agent); + Percept p = (Percept) agent; + if(!p.isDying()) { + percepts.add(p); + } } } } -- GitLab