Engine 0.0.4
Game engine in lua
Loading...
Searching...
No Matches
pipeline.lua
Go to the documentation of this file.
1local function pipe(self)
2 return function()
3 self:run()
4 end
5end
6
7local function stop(self)
8 if self.pipeline and not self.pipeline2 then
9 self.pipeline2 = self.pipeline
10 self.pipeline = nil
11 end
12end
13
14local function resume(self)
15 if not self.pipeline and self.pipeline2 then
16 self.pipeline = self.pipeline2
17 self.pipeline2 = nil
18 self:run()
19 end
20end
21
22local function run(self)
23 self.pipeline_current = self.pipeline_current or 1
24 while self.pipeline and self.pipeline_current and self.pipeline_current <= #self.pipeline do
25 self.pipeline[self.pipeline_current]()
26 if self.pipeline_current then
27 self.pipeline_current = self.pipeline_current + 1
28 end
29 end
30 return self
31end
32
33local function clear(self)
34 self.pipeline_current = nil
35 self.pipeline2 = nil
36 self.pipeline = nil
37end
38
39local P = {
41 pipe=pipe,
42 stop=stop,
44 run=run
45}
46
47return P
local function stop(self)
local function pipe(self)
local function run(self)
local function clear(self)
local function resume(self)