-- Compiled with roblox-ts v3.0.0 local TS = _G[script] local Signal = TS.import(script, TS.getModule(script, "@rbxts", "lemon-signal").src).default local BaseAction = TS.import(script, script.Parent, "base-action").BaseAction local getRawInput = TS.import(script, script.Parent, "common").getRawInput local AxisAction do local super = BaseAction AxisAction = setmetatable({}, { __tostring = function() return "AxisAction" end, __index = super, }) AxisAction.__index = AxisAction function AxisAction:constructor(...) local axes = { ... } super.constructor(self) self.updated = self.janitor:Add(Signal.new(), "Destroy") self.delta = Vector3.new() self.position = Vector3.new() self.axes = axes end function AxisAction:handleInput(input, processed) if self.processed ~= processed then return nil end local _axes = self.axes local _arg0 = getRawInput(input) if not (table.find(_axes, _arg0) ~= nil) then return nil end self.position = input.Position self.delta = input.Delta self.updated:Fire() end end local AxisActionBuilder do local super = AxisAction AxisActionBuilder = setmetatable({}, { __tostring = function() return "AxisActionBuilder" end, __index = super, }) AxisActionBuilder.__index = AxisActionBuilder function AxisActionBuilder.new(...) local self = setmetatable({}, AxisActionBuilder) return self:constructor(...) or self end function AxisActionBuilder:constructor(...) super.constructor(self, ...) end function AxisActionBuilder:setID(id) self.id = id return self end function AxisActionBuilder:setProcessed(processed) self.processed = processed return self end end return { AxisAction = AxisAction, AxisActionBuilder = AxisActionBuilder, }