Перебирать параметры агента

Я создаю агент на основе другого кода. Исходный агент обрабатывается в блоке задержки, и я хочу создать копии, в которых будет изменяться только идентификатор, и выполнять метод в блоке Enter.

Чтобы скопировать информацию из исходного агента, я не могу найти лучшего способа, чем указать каждый параметр, как в:

newAgent.color = original.color;
newAgent.component = original.component;
newAgent.geometry = original.geometry;
...
newAgent.LastParameter = original.LastParameter;

и так далее.

Есть ли способ перебрать параметры агента, чтобы улучшить это действие?

Заранее спасибо, Луис

1 ответ

Решение

Мне удалось решить мою проблему, и я публикую ответ, так как другие люди могут столкнуться с ним в будущем. Это что-то простое, что я уже пробовал, но с проблемой приведения типов.

Структура кода выглядит следующим образом:

add_myAgents();
for(String p : agent.getParameterNames())
{
    myAgents.get(myAgents.size()-1).setParameter(p, agent.getParameter(p), true);
}
enter.take(myAgents.get(myAgents.size()-1));

Я обнаружил, что с помощью myAgent prod = new MyAgent() не работал. Дубликат должен быть вставлен в заполнение, поэтому я создал фактически пустое заполнение под названием myAgents, и вот где я добавляю дубликат.

Другие вопросы по тегам