onCouplerDetached
Definition
-- @/lua/ge/extensions/core/vehicles.lua:2767
-- TODO: Trailer respawn code is currently active, uncomment this when it's disabled
-- --Trigered when trailer coupler is detached by the user
-- local function onCouplerDetach(objId1, nodeId)
-- -- if the vehicle is part of a vehicle collection, remove the whole collection
-- local collection = M.vehIdToVehCollection[objId1]
-- --removeVehicleCollection(collection.mainVehData.vehId)
-- local vehData = collection.vehsData[objId1]
-- --local couplerTag = M.vehsCouplerTags[objId1][nodeId]
-- for childVehId, childVehData in pairs(vehData.children or {}) do
-- if childVehData.offsetData and childVehData.offsetData.type == "coupledNodes" then
-- -- TODO: We currently assume that the child vehicle is connected to one parent coupler
-- splitVehicleCollection(childVehId)
-- end
-- end
-- end
-- Trigered when trailer coupler is detached in any way
local function onCouplerDetached(obj1id, obj2id, nodeId, obj2nodeId)
for i, coupler in ipairs(M.attachedCouplers) do
if coupler[1] == obj1id and coupler[2] == obj2id and coupler[3] == nodeId and coupler[4] == obj2nodeId then
table.remove(M.attachedCouplers, i)
break
end
end
-- TODO: Trailer respawn code is currently active, uncomment this when it's disabled
-- local collection = M.vehIdToVehCollection[obj1id]
-- if collection and collection.resetState then
-- if collection.resetState.coupled[obj1id] then
-- collection.resetState.coupled[obj1id][obj2id] = nil
-- end
-- if collection.resetState.coupled[obj2id] then
-- collection.resetState.coupled[obj2id][obj1id] = nil
-- end
-- end
--onCouplerDetach(obj1id, nodeId)
end
Callers
@/lua/ge/extensions/career/modules/delivery/vehicleTasks.lua
local function onCouplerDetached(objId1, objId2, nodeId, obj2nodeId)
for _, taskData in ipairs(vehicleTasks) do
@/lua/vehicle/controller/couplings/fifthwheel.lua
local function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
--print(breakForce)
@/lua/vehicle/controller/hydraulics/hydraulicTrailerFeet.lua
local function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
if obj:getId() ~= obj2id then
@/lua/vehicle/controller/linearActuators/linearActuatorTrailerFeet.lua
local function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
if obj:getId() ~= obj2id and nodeId == couplerNodeId then
@/lua/vehicle/powertrain/hydraulicPump.lua
local function onCouplerDetached(device, nodeId, obj2id, obj2nodeId, breakForce)
--if we just lost our own consumer
@/lua/vehicle/controller.lua
local function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
for i = 1, couplerDetachedEventCount, 1 do
if controller.onCouplerDetached ~= nil then
print(" sortedControllers[" .. i .. "].onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce) -- " .. tostring(controller.typeName))
end
@/lua/vehicle/controller/trailerFeet.lua
local function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
if obj:getId() ~= obj2id then
@/lua/vehicle/controller/advancedCouplerControl.lua
local function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
local couplerIndex = couplerGroup.couplerNodeIdLookup[nodeId]
@/lua/ge/main.lua
function onCouplerDetached(objId1, objId2, nodeId, obj2nodeId)
extensions.hook('onCouplerDetached', objId1, objId2, nodeId, obj2nodeId)
@/lua/vehicle/main.lua
function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
-- print('couplerDetached'..','..nodeId..','..obj2nodeId..','..obj2id..','..breakForce)
-- print('couplerDetached'..','..nodeId..','..obj2nodeId..','..obj2id..','..breakForce)
beamstate.onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
controller.onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
beamstate.onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
controller.onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
powertrain.onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
controller.onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
powertrain.onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
energyStorage.onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
powertrain.onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
energyStorage.onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
extensions.hook("onCouplerDetached", nodeId, obj2id, obj2nodeId, breakForce)
@/lua/vehicle/energyStorage/pressureTank.lua
local function onCouplerDetached(storage, nodeId, obj2id, obj2nodeId, breakForce)
--if the decoupled node is our supply node (ie the one where WE connect to OUR supply)
@/lua/vehicle/powertrain/hydraulicAccumulator.lua
local function onCouplerDetached(device, nodeId, obj2id, obj2nodeId, breakForce)
--if the decoupled node is our supply node (ie the one where WE connect to OUR supply)
@/lua/ge/extensions/core/couplerCameraModifier.lua
local function onCouplerDetached(objId1_, objId2_)
restoreOriginalCamera()
if obj2 == nil or obj1 == nil then onCouplerDetached() return end
if vehId == objId1 or vehId == objId2 then -- This means that one of the coupled vehicles got replaced
onCouplerDetached()
end
@/lua/vehicle/energyStorage.lua
local function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
for i = 1, storageCount, 1 do
if storage.onCouplerDetached then
storage:onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
end
@/lua/ge/extensions/flowgraph/modules/vehicleModule.lua
end
function C:onCouplerDetached(objId1, objId2, nodeId, obj2nodeId)
self.couplings[objId1][objId2] = nil
@/lua/vehicle/beamstate.lua
local function onCouplerDetached(nodeId, obj2id, obj2nodeId)
--print(string.format("coupler detached %s.%s->%s.%s", obj:getId(),nodeId,obj2id, obj2nodeId))
if objectId < obj2id then
obj:queueGameEngineLua(string.format("onCouplerDetached(%s,%s,%s,%s)", objectId, obj2id, nodeId, obj2nodeId))
end
@/lua/vehicle/controller/controllerTemplate.lua
-- local function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
-- end
@/lua/vehicle/powertrain.lua
local function onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
for i = 1, deviceCount, 1 do
if device.onCouplerDetached then
device:onCouplerDetached(nodeId, obj2id, obj2nodeId, breakForce)
end