找回密码
 点一下
查看: 351|回复: 2

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

[复制链接]
发表于 2022-3-6 20:12:36 | 显示全部楼层 |阅读模式
本帖最后由 Prinny 于 2022-3-7 22:23 编辑

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

如上所示,当我们使用宏时,发现多参数情况下使用#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”
-----------------------------------------------
那么使用分割函数就能获取我们要的,
已知数字,转为字符串,按空格分割前读取下总长度,方便知道是否筛选结束,一共分了多少段(用户参数数量)
其他的都是这样依次类推。。把参数值都弄成字符串然后分割。
完成图:
切割.png
11223.png
多参数测试.png
这是没有获取函数支持下的办法,如果说宏的多参数没有获取函数,你印象不深刻,大不了不用。
那么同案例要说“无法通过演算体获得它的ID”问题的解决你可能就印象深刻了,官方不提供函数获取一个演算体实例的ID,但是信息却也混在演算体信息堆里,只要分割获取,获取函数便被你造出来了。

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













 楼主| 发表于 2022-3-7 21:53:26 | 显示全部楼层
本帖最后由 Prinny 于 2022-7-26 04:13 编辑

本楼方案无效,作废...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-4-28 13:26 , Processed in 0.075211 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表