繁体   English   中英

根据代理变量指定占用块中的资源集

[英]Specifying resource sets in seize block based on agent variable

通过 model 推送的代理有一个设置为false的变量isMorning ,但如果它们在特定时间之前被注入,则会变为true 当代理进入占用块时,我想添加一个条件,该条件依赖于isMorning是否为true ,以便选择资源集。 我想知道在资源集参数中使用条件来在不同资源集之间进行选择的正确语法,或者这是否必须在另一个参数中完成。

最好的选择是创建一个新的 function 例如getResoruceSet(boolean isMorning然后返回ResourcePool[][]

然后,您可以使用这个 function 来替换占用块中的资源集参数

在此处输入图像描述

您在 function 中的代码需要为 ResorucePool 创建新的ResorucePool ,其中第一个维度是需要占用的资源数量,第二个维度是不同的集合。

例如:

if (isMorning) {
    return new ResourcePool[][] { 
        { resourcePool, resourcePool }
        };
} else {
    return new ResourcePool[][] { 
{ resourcePool1},       
{ resourcePool, resourcePool2, resourcePool2}
        };

}

如果是早上,您需要占用 2 个单位的resourcePool 如果不是早上,您需要从resorucePool1中获取 1 个单位,或者从resourcePool中获取 2 个单位,从resorucePool2中获取 2 个单位

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM