57 lines
1.3 KiB
Lua
57 lines
1.3 KiB
Lua
require('TimedActions/ISBaseTimedAction')
|
|
|
|
TowBarHookVehicle = ISBaseTimedAction:derive("TowBarHookVehicle")
|
|
|
|
|
|
-- The condition which tells the timed action if it is still valid
|
|
function TowBarHookVehicle:isValid()
|
|
return true;
|
|
end
|
|
|
|
-- Starts the Timed Action
|
|
function TowBarHookVehicle:start()
|
|
self:setActionAnim(self.animation)
|
|
self.sound = getSoundManager():PlayWorldSound("towbar_hookingSound", false, self.character:getSquare(), 0, 5, 1, true)
|
|
end
|
|
|
|
-- Is called when the time has passed
|
|
function TowBarHookVehicle:perform()
|
|
self.sound:stop();
|
|
|
|
if self.performFunc ~= nil then
|
|
self.performFunc(self.character, self.arg1, self.arg2, self.arg3, self.arg4)
|
|
end
|
|
|
|
ISBaseTimedAction.perform(self);
|
|
end
|
|
|
|
|
|
function TowBarHookVehicle:stop()
|
|
if self.sound then
|
|
self.sound:stop()
|
|
end
|
|
|
|
ISBaseTimedAction.stop(self)
|
|
end
|
|
|
|
function TowBarHookVehicle:new(character, time, animation, performFunc, arg1, arg2, arg3, arg4)
|
|
local o = {};
|
|
setmetatable(o, self)
|
|
self.__index = self
|
|
o.stopOnWalk = true
|
|
o.stopOnRun = true
|
|
o.maxTime = time
|
|
|
|
o.character = character;
|
|
o.animation = animation
|
|
|
|
o.performFunc = performFunc
|
|
o.arg1 = arg1
|
|
o.arg2 = arg2
|
|
o.arg3 = arg3
|
|
o.arg4 = arg4
|
|
|
|
return o;
|
|
end
|
|
|