shendu
发表于 2023-8-9 08:04:59
fandc 发表于 2023-8-8 11:13 PM
感谢大佬,明白了,另外晚上研究了下 命令(Commands)语句和方法,感觉很强啊。但其中的一些具体判断 ...
你可以看一下里面大佬写的源文件里面的那个SimpleCommand这个类,里面的execute方法就是输入指令之后同时打开成功,失败,重试3种触发,看具体触发那种反馈,然后相应的处理
shendu
发表于 2023-8-9 08:07:24
fandc 发表于 2023-8-8 11:13 PM
感谢大佬,明白了,另外晚上研究了下 命令(Commands)语句和方法,感觉很强啊。但其中的一些具体判断 ...
超时这个状态是成功,失败,重试3种状态都没有触发的情况下,时间到了就是超时,然后相应的处理
fandc
发表于 2023-8-9 10:28:45
shendu 发表于 2023-8-9 08:07 AM
超时这个状态是成功,失败,重试3种状态都没有触发的情况下,时间到了就是超时,然后相应的处理 ...
也就是说要在参数里同时指定两个(成功与失败判断条件)的触发器,并设置么?大佬的示范中只有一个关于状态格式化显示案例,用到了一个成功触发器。新人没具体代码格式示范还是有点糊涂,源码我再去研究研究,感谢师兄指点{:7_268:}
shendu
发表于 2023-8-9 14:08:31
SimpleCommand必须设置成功的触发器,其他的可以不设置,然后这个是支持多个触发器的,比如失败的触发器是多个,那么把多个触发器放到一个元组里面就可以了
GPS.CmdMove(self.session, succ_tri = self.tri_loc, fail_tri = self.triggersInGroup("movefail"), retry_tri = self.triggersInGroup("moveretry"), id = "cmd_move", group = "GPS")
这个里面成功的succ_tri是房间名的触发
失败和重试的触发器是一个元组
self.triggersInGroup是一个函数返回一个元组,包括所有同一组的触发器
newstart
发表于 2023-8-9 19:53:32
shendu 发表于 2023-8-9 02:08 PM
SimpleCommand必须设置成功的触发器,其他的可以不设置,然后这个是支持多个触发器的,比如失败的触发器是 ...
有人可以帮我回答问题了{:7_279:}
fandc
发表于 2023-8-10 00:09:05
本帖最后由 fandc 于 2023-8-10 12:31 AM 编辑
shendu 发表于 2023-8-9 02:08 PM
SimpleCommand必须设置成功的触发器,其他的可以不设置,然后这个是支持多个触发器的,比如失败的触发器是 ...
感谢感谢,我也是今天下午去啃了下源码才知道有其他触发器的设置参数可以调用。除了 (succ_tri)还有 (fail_tri )和( retry_tri ),不过你说的这个还能支持多种触发器,那真是碉堡了。{:8_298:}
你这是在Simpl的基础上将 一个触发参数(fail_tri)指定给了整个触发组吗?比如self.triggersInGroup?{:7_287:} 另外这个触发组 (self.triggersInGroup)你说其是一个函数返回一个元组,包括所有同一组的触发器。是已经封装好的函数方法吧?我只需要指定特定的一类组名,是不是就能自动调用这整个组的触发啦?
对啦,另外我在源码里也看到了SimpleCommand的三个回调函数接口,除了常见的 onSuccess,还有失败判定的(onFailure) 和超时判定的(onTimeout) 这是不是也说明command本身的回调操作也能对应不同的触发判断,来执行相应的回调嘞?这着实太烧脑啦!{:8_292:}
fandc
发表于 2023-8-10 00:16:44
newstart 发表于 2023-8-9 07:53 PM
有人可以帮我回答问题了
哈,多日叨扰大佬,望包含啦~如以后同道多,希望有个交流群。大家多多交流,我今天也在考虑地图数据库的问题,以后任务没有地图数据支撑应该搞不定啊~也有看大佬说地图定位的帖子。不知道大佬的数据库是用啥创建的嘞?
newstart
发表于 2023-8-10 08:17:13
已建QQ群,群号:554672580
fandc
发表于 2023-8-10 22:54:03
newstart 发表于 2023-8-10 08:17 AM
已建QQ群,群号:554672580
哈,忙一天没看,这就来!!