GE Lua Documentation

Press F to search!

handleMouse

Definition


-- @/lua/ge/extensions/freeroam/bigMapMarkers.lua:110

local function handleMouse(camMode, uiPopupOpen, mouseMoved, poiIsSelected)

  -- disable hovering when in "controller mode" and there is already a POI selected
  if not mouseMoved and poiIsSelected then return end

  local clusterIconRenderer = scenetree.findObject("markerIconRenderer")
  if not clusterIconRenderer then return end
  local ray
  if mouseMoved then
    ray = getCameraMouseRay()
  else
    local camDir = core_camera.getQuat() * yVector
    ray = {pos = core_camera.getPosition(), dir = camDir}
  end
  for i, cluster in ipairs(M.getAllClustersBySettings(currentClusterSettingsId)) do
    local iconInfo = clusterIconRenderer:getIconByName(cluster.id .. "bigMap")

    if iconInfo then
      local iconPos = iconInfo.worldPosition
      local sphereRadius = iconPos:distance(core_camera.getPosition()) * 0.0006 * camMode.manualzoom.fov
      if not uiPopupOpen and pointRayDistance(iconPos, ray.pos, ray.dir) <= sphereRadius then
        return cluster.containedIds[1]
        --local marker = M.getClusterMarker(cluster)
        --if marker.visibleInBigmap then
        --  marker.hovered = true
        --return marker
        --end
      end
    end
  end
end

Callers

@/lua/ge/extensions/freeroam/bigMapMode.lua
    if not getCEFFocusMouse() then
      local hover = freeroam_bigMapMarkers.handleMouse(camMode, uiPopupOpen, mouseMoved, M.selectedPoiId)
      -- a marker is hovered