GE Lua Documentation

Press F to search!

liveUpdateVehicleColors

Definition


-- @/lua/ge/extensions/core/vehicle/manager.lua:235

local function liveUpdateVehicleColors(objID, _vehicleObj, index, paint)
  local vehicleObj = _vehicleObj or scenetree.findObjectById(objID)
  if not vehicleObj or not vehicles[objID] or not vehicles[objID].config or not vehicles[objID].config.paints then return end

  if paint and type(paint) == 'table' then
    local paintsData = {}
    validateVehiclePaint(paint)
    if     index == 1 then
      vehicleObj.color         = ColorF(paint.baseColor[1], paint.baseColor[2], paint.baseColor[3], paint.baseColor[4]):asLinear4F()
      paintsData[1] = paint
    elseif index == 2 then
      vehicleObj.colorPalette0 = ColorF(paint.baseColor[1], paint.baseColor[2], paint.baseColor[3], paint.baseColor[4]):asLinear4F()
      paintsData[2] = paint
    elseif index == 3 then
      vehicleObj.colorPalette1 = ColorF(paint.baseColor[1], paint.baseColor[2], paint.baseColor[3], paint.baseColor[4]):asLinear4F()
      paintsData[3] = paint
    end

    vehicleObj:setMetallicPaintData(paintsData)
    extensions.hook("onVehicleColorChanged", objID, index, paint)
  end
end

Callers

@/lua/ge/extensions/core/vehicle/manager.lua
    if paintNames[i] and data.model.paints[paintNames[i]] then
      liveUpdateVehicleColors(id, nil, i, data.model.paints[paintNames[i]])
    end
@/lua/ge/extensions/core/vehicle/colors.lua
  local paint, allPaints = updateVehicleDataPaint(index, colorString, objID)
  extensions.core_vehicle_manager.liveUpdateVehicleColors(objID, veh, index, paint)
  vd.config.paints[index] = paint
  extensions.core_vehicle_manager.liveUpdateVehicleColors(objID, veh, index, paint)
@/lua/ge/extensions/core/vehicle/partmgmt.lua
    for i = 1, paintCount do
      vehManager.liveUpdateVehicleColors(veh:getId(), veh, i, inData.paints[i])
    end