宏工具类新增toEnd方法

This commit is contained in:
Eigeen 2023-12-23 19:55:28 +08:00
parent 7a7f087ae0
commit a8a29f6430
Signed by: eigeen
GPG Key ID: B730E75AFABD2ED8
1 changed files with 9 additions and 5 deletions

View File

@ -21,7 +21,7 @@ function Macro:new(macroSeries)
macroLen = 0, macroLen = 0,
compiledSeries = nil, compiledSeries = nil,
compiledLen = 0, compiledLen = 0,
pointer = 0 offset = 0
} }
setmetatable(obj, Macro) setmetatable(obj, Macro)
@ -54,15 +54,15 @@ function Macro:compile()
end end
function Macro:getNext(loop) function Macro:getNext(loop)
if self.pointer >= self.compiledLen then if self.offset >= self.compiledLen then
if not loop then if not loop then
return nil return nil
end end
self:reset() self:reset()
end end
self.pointer = self.pointer + 1 self.offset = self.offset + 1
local cmd = self.compiledSeries[self.pointer] local cmd = self.compiledSeries[self.offset]
if cmd == nil then -- 理论不应该是nil此处保险 if cmd == nil then -- 理论不应该是nil此处保险
return nil return nil
end end
@ -76,7 +76,11 @@ function Macro:getNext(loop)
end end
function Macro:reset() function Macro:reset()
self.pointer = 0 self.offset = 0
end
function Macro:toEnd()
self.offset = self.compiledLen
end end
function Macro:runNext(func, forceRun) function Macro:runNext(func, forceRun)