|
发表于 2016-11-5 11:03:20
|
显示全部楼层
再说说searchFunc()
- function searchFunc(path)
- if flag.find==1 then return end
- if flag.wait==1 then return end
- road.pathset = road.pathset or {} --定一个road.pathset目的地路径集合
- if path then
- road.pathset=utils.split(path,";") --把上面传过来的路径alias,都用;号分开,并存入road.pathset这个路径集合表中
- for i=1,table.getn(road.pathset) do
- for p=1, table.getn(road.pathset) do
- if isNil(road.pathset[p]) or road.pathset[p]=="halt" then
- table.remove(road.pathset,p)
- break
- end
- end
- end
- end --上面这一段就是为了去掉 road.pathset表中的空值或者“halt”
- if table.getn(road.pathset)==0 then --如果road.pathset是空,那么久开始运行searchstart()
- return searchStart()
- end
- --for i=1,table.getn(road.pathset) do
- --Note(road.pathset[1])
- if string.find(road.pathset[1],'#') then
- local _,_,func,params = string.find(road.pathset[1],"^#(%a%w*)%s*(.-)$")
- if func then
- table.remove(road.pathset,1)
- return _G[func](params)
- else
- exe(road.pathset[1])
- table.remove(road.pathset,1)
- return walk_wait()
- end
- else
- exe(road.pathset[1])
- table.remove(road.pathset,1)
- return walk_wait()
- end --这一大段就是为了查找path路径中是否有#这个开头字样的字串,要是用就进入相关函数处理,最常用的例子就是#duCjiang,这个就是渡江的函数处理。
- --end
- --return searchWait()
- end
复制代码 |
|