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