资源池中的空闲单元

Idle units in resource pool

我有一个只有 1 个资源单元的资源池,我想要一个节点 "myArea" 根据资源单元是空闲还是忙碌来更改其颜色。我在函数 "updateColor" 主体中键入以下代码,我在资源池操作 "on seize" 和 "on release"(以及主代理 "on startup")中调用它。

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

但是这段代码并没有像我预期的那样工作,模拟以绿色区域开始,但是当资源单元被占用时它变成红色并永远保持红色。我猜

speedyBag.idle()

我指的不是我的想法(池中的空闲单元数,如图所示)。有什么建议么?

image

不需要你的方法,你可以只使用你的节点的动态颜色属性。如果您有 1 个或多个空闲单元,下面的代码可确保节点填充绿色。如果都忙,则显示为红色: