Anylogic,根据特定条件从池中获取资源

Anylogic, seize resource from pool based on certain conditions

问题已经被问过并回答过,见。但是 Whosebug 上的多个巨魔要求我再次问同样的问题,无论如何.. - 因为问它被视为“答案”而不是“问题”。

Anylogic 8.7.2.
我创建了一个资源池 myworkers.
代理类型 workers.
打开workers代理,添加一个变量offloadBay(或参数,无所谓),INT, default value 0。 在main中我用一个seize块从这个池中抢占了4个资源,但是他们需要满足条件offloadBay == 0。 在占用块中我 select Customise resource choice == true ; Recource choice condition = (unit.offloadBay == 0)。 在 运行 项目中,我收到错误 - “offloadBay 无法解析或不是字段 ”。

似乎对关键字 unit 的引用实际上并没有引用资源单元 - none 的 unit's 参数、变量、函数等可用于调用时引用 unit.

请指教我做错了什么?或者,我如何根据特定条件从 ResourcePool 中 select 资源或 属性 资源? (可根据要求提供演示项目,请告知发送地址

尝试强制执行资源类型。发生这种情况是因为您处于占用块中,并且当您使用“单元”时,您可能指的是不同的资源代理类型。并非所有这些都可能具有“offloadBay”变量。所以,使用:

((工人)单位).offloadBay == 0