Свободные блоки в пуле ресурсов - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть пул ресурсов только с 1 единицей ресурса, я хотел бы, чтобы узел "myArea" менял свой цвет в зависимости от того, свободна ли единица ресурса или занята.Я набрал следующий код в теле функции «updateColor», которое я вызываю в действиях пула ресурсов «при захвате» и «при освобождении» (и в главном агенте «при запуске»).

int idleUnits = speedyBag.idle();
if (idleUnits == 1){
myArea.setFillColor(Color.GREEN);
} else if (idleUnits == 0) {
myArea.setFillColor(Color.RED);
}

Однако этот код работает не так, как я ожидал, симуляция начинается с зеленой области, но когда ресурсная единица захвачена, она становится красной и остается красной всегда.Я предполагаю, что с

speedyBag.idle()

я не указываю на то, что думаю (количество свободных единиц в пуле, указанное на рисунке).Какие-либо предложения?

image

1 Ответ

0 голосов
/ 20 февраля 2019

Нет необходимости в вашем подходе, вы можете просто использовать свойство динамического цвета вашего узла.Приведенный ниже код гарантирует, что узел заполняется зеленым, если у вас есть 1 или более свободных блоков.Если все заняты, он показывает красный: enter image description here

...