@Override public void addBehavior(final IStatement c) { if (c instanceof WeightedTaskStatement) { tasks.add((WeightedTaskStatement) c); } else { super.addBehavior(c); } }
@Override public Object executeOn(final IScope scope) throws GamaRuntimeException { // We let inits, reflexes run super.executeOn(scope); WeightedTaskStatement active = chooseTask(scope); if (active != null) { return active.executeOn(scope); } return null; }
@Override protected void clearBehaviors() { super.clearBehaviors(); tasks.clear(); }