make sim use proper OOP
This commit is contained in:
46
sim/port.lua
46
sim/port.lua
@@ -36,7 +36,7 @@ end
|
||||
function Port.setstate(port, state)
|
||||
if state ~= port.state then
|
||||
port.state = state
|
||||
Simulation.queuegroup(port.sim, port.group)
|
||||
Simulation.queuegroup(Port.getsim(port), port.group)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -44,46 +44,50 @@ function Port.setinputstate(port, state)
|
||||
if state ~= port.state then
|
||||
port.state = state
|
||||
if port.causeupdate then
|
||||
Simulation.queuegate(port.sim, port.gate)
|
||||
Simulation.queuegate(Port.getsim(port), port.gate)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Port.getconnectionposition(self)
|
||||
local offset = PortDirections[self.direction]
|
||||
return {self.position[1]+offset[1], self.position[2]+offset[2], self.position[3]+offset[3]}
|
||||
function Port.getconnectionposition(port)
|
||||
local offset = PortDirections[port.direction]
|
||||
return {port.position[1]+offset[1], port.position[2]+offset[2], port.position[3]+offset[3]}
|
||||
end
|
||||
|
||||
function Port.isrising(self)
|
||||
if self.group == nil then
|
||||
function Port.isrising(port)
|
||||
if port.group == nil then
|
||||
return false
|
||||
end
|
||||
return self.group.state and (self.group.updatetick == self.sim.currenttick)
|
||||
return port.group.state and (port.group.updatetick == Port.getsim(port).currenttick)
|
||||
end
|
||||
|
||||
function Port.isfalling(self)
|
||||
if self.group == nil then
|
||||
function Port.isfalling(port)
|
||||
if port.group == nil then
|
||||
return false
|
||||
end
|
||||
return self.group.state == false and (self.group.updatetick == self.sim.currenttick)
|
||||
return port.group.state == false and (port.updatetick == Port.getsim(port).currenttick)
|
||||
end
|
||||
|
||||
function Port.setgate(self, gate)
|
||||
self.gate = gate
|
||||
function Port.setgate(port, gate)
|
||||
port.gate = gate
|
||||
end
|
||||
|
||||
function Port.setgroup(self, group)
|
||||
self.group = group
|
||||
function Port.setgroup(port, group)
|
||||
port.group = group
|
||||
end
|
||||
|
||||
function Port.getgroup(self)
|
||||
return self.group
|
||||
function Port.getgroup(port)
|
||||
return port.group
|
||||
end
|
||||
|
||||
function Port.gettype(self)
|
||||
return self.type
|
||||
function Port.gettype(port)
|
||||
return port.type
|
||||
end
|
||||
|
||||
function Port.getstate(self)
|
||||
return self.state
|
||||
function Port.getstate(port)
|
||||
return port.state
|
||||
end
|
||||
|
||||
function Port.getsim(port)
|
||||
return port.sim
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user