Prinny 发表于 2022-3-6 20:12:36

函数参数为“允许多个”时,如何获取这些参数

本帖最后由 Prinny 于 2022-3-7 22:23 编辑

GUI编写遍历函数时,经常用到无限下拉的动作组(如挑选)和无限参数(如运算符)的函数,需宏来制作(编辑器分析这些存储在Triggers文件中带#描述后,用来生成Galaxy脚本及其他文件)


如上所示,当我们使用宏时,发现多参数情况下使用#PARAM(i),无法获取 i下的多个参数
如单位参数(勾选多个)   
    单位1
    单位2
    单位3
    。
    。

官方没有提供获取不是说就终结了,我的办法如下
(如果有这个获取办法还请大佬告知下,感谢!)

#PARAM(i)会将所有参数(没有运算符情况下)以并列方式将字叠加在一起,
如数组类型参数1 2 3 4,会叠成AutoXXXX = 1234
字符串类型参数"1"“2”“3”“4”,会叠成AutoXXXX = "1"“2”“3”“4”
当你填写#PARAM(i, "附加内容")时, 比如附加内容是空格,
如数组类型会叠成AutoXXXX = 1 2 3 4
字符串类型AutoXXXX = "1" “2” “3” “4”
-----------------------------------------------
那么使用分割函数就能获取我们要的,
已知数字,转为字符串,按空格分割前读取下总长度,方便知道是否筛选结束,一共分了多少段(用户参数数量)
其他的都是这样依次类推。。把参数值都弄成字符串然后分割。
完成图:



这是没有获取函数支持下的办法,如果说宏的多参数没有获取函数,你印象不深刻,大不了不用。
那么同案例要说“无法通过演算体获得它的ID”问题的解决你可能就印象深刻了,官方不提供函数获取一个演算体实例的ID,但是信息却也混在演算体信息堆里,只要分割获取,获取函数便被你造出来了。

相同案例切割大法:https://bbs.islga.org/read-htm-tid-5487743-page-1-fpage-1.html













Prinny 发表于 2022-3-7 21:53:26

本帖最后由 Prinny 于 2022-7-26 04:13 编辑

本楼方案无效,作废...
页: [1]
查看完整版本: 函数参数为“允许多个”时,如何获取这些参数