Передать узел назначения в виде строки параметра агента - PullRequest
0 голосов
/ 22 апреля 2019

Я хочу передать узел назначения, в котором мой агент собирается / находится в качестве строки.

У меня есть агент (машина), у которого есть несколько параметров, один из которых - местоположение.У меня есть resourcePool с несколькими домашними локациями, в которых машина может парковаться (переезд к дому захваченного подразделения).Я пытаюсь собрать узел, в котором припаркован автомобиль, и передать его в виде строки в этот параметр местоположения как таковой при выходе из блока moveTo:

if(moveTo.destinationNode(agent) == nodeA) {
    agent.location = "A";
} else {
    agent.location = "NULL";
}

Однако, когда автомобиль припаркован наузла А.Я ожидаю, что значение location будет A, но параметр будет иметь значение NULL, чего не должно быть.Любая рекомендация будет иметь большое значение.Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 апреля 2019

Исправлена ​​ошибка:

if(agent.getNetworkNode() == nodeA){
   agent.location = "A"
} else if(agent.getNetworkNode() == nodeB){
   agent.location = "B"
}

... и т. Д.

0 голосов
/ 22 апреля 2019

Мне кажется, проблема в том, что вы использовали оператор ==, но вы не перегружали его для сравнения двух узлов. (Я не знаю, как это сделать, но вы можете). Может быть, вы можете сделать что-то вроде if (x.location == y.location) {} (я придумываю эти имена). Надеюсь, это поможет.

...