generated from sage/tiny-ecs-love-template
24 lines
1.0 KiB
Lua
24 lines
1.0 KiB
Lua
Collisions = filteredSystem("collisionResolution", { collisionBetween = T.Collision }, function(e, _, system)
|
|
local collidedInto, collider = e.collisionBetween[1], e.collisionBetween[2]
|
|
if collider.highlightsCollided then
|
|
if collidedInto.unhighlightSiblings then
|
|
for sibling in pairs(collidedInto.unhighlightSiblings) do
|
|
sibling.highlighted = nil
|
|
sibling.canReceiveButtons = nil
|
|
system.world:addEntity(sibling)
|
|
end
|
|
end
|
|
if collidedInto.highlightOnMouseOver ~= nil then
|
|
collidedInto.highlighted = T.marker
|
|
collidedInto.canReceiveButtons = T.marker
|
|
system.world:addEntity(collidedInto)
|
|
end
|
|
if collidedInto.pickedUpOnClick ~= nil then -- and #HeldByCursor.entities == 0 and love.mouse.isDown(1) then
|
|
print("Click!")
|
|
collidedInto.moveWithCursor = T.marker
|
|
system.world:addEntity(collidedInto)
|
|
end
|
|
end
|
|
system.world:removeEntity(e)
|
|
end)
|