upload so it isnt lost now
This commit is contained in:
106
data/scripts/objects.lua
Normal file
106
data/scripts/objects.lua
Normal file
@@ -0,0 +1,106 @@
|
||||
objects = {
|
||||
entities = {},
|
||||
|
||||
collisions = {},
|
||||
platforms = {},
|
||||
ladders = {}
|
||||
}
|
||||
|
||||
|
||||
-- level functions
|
||||
function objects.DrawCollisions()
|
||||
for _, col in pairs(objects.collisions) do
|
||||
col:Draw(1)
|
||||
end
|
||||
|
||||
for _, plat in pairs(objects.platforms) do
|
||||
if plat.disable == true then plat:Draw(2) end
|
||||
if plat.disable == false then plat:Draw(1) end
|
||||
end
|
||||
|
||||
for _, ladder in pairs(objects.ladders) do
|
||||
ladder:Draw(2)
|
||||
end
|
||||
end
|
||||
|
||||
-- returns true if theres a collision at that point. also marks collisioned tile as collision true
|
||||
function isThereCollisionAt(x,y)
|
||||
local result = false
|
||||
for _, col in pairs(objects.collisions) do
|
||||
if x >= col.from.x and x <= col.to.x and y >= col.from.y and y <= col.to.y then
|
||||
result = true
|
||||
col.collision = true
|
||||
end
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
function isTherePlatformAt(x,y)
|
||||
local result = false
|
||||
for _, col in pairs(objects.platforms) do
|
||||
if x >= col.from.x and x <= col.to.x and y >= col.from.y and y <= col.to.y and col.disable ~= true then
|
||||
result = true
|
||||
col.collision = true
|
||||
end
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
function isThereLadderAt(x,y)
|
||||
local result = false
|
||||
for _, col in pairs(objects.ladders) do
|
||||
if x >= col.from.x and x <= col.to.x and y >= col.from.y and y <= col.to.y and col.disable ~= true then
|
||||
result = true
|
||||
col.collision = true
|
||||
end
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
function isThereAnyCollisionAt(x,y)
|
||||
local result = false
|
||||
if not result then
|
||||
for _, col in pairs(objects.collisions) do
|
||||
if x >= col.from.x and x <= col.to.x and y >= col.from.y and y <= col.to.y then
|
||||
result = true
|
||||
col.collision = true
|
||||
end
|
||||
end
|
||||
end
|
||||
if not result then
|
||||
for _, col in pairs(objects.ladders) do
|
||||
if x >= col.from.x and x <= col.to.x and y >= col.from.y and y <= col.to.y and col.disable ~= true then
|
||||
result = true
|
||||
col.collision = true
|
||||
end
|
||||
end
|
||||
end
|
||||
if not result then
|
||||
for _, col in pairs(objects.platforms) do
|
||||
if x >= col.from.x and x <= col.to.x and y >= col.from.y and y <= col.to.y and col.disable ~= true then
|
||||
result = true
|
||||
col.collision = true
|
||||
end
|
||||
end
|
||||
end
|
||||
return result
|
||||
end
|
||||
-- flags
|
||||
function SetCollisionFlags(player)
|
||||
for _, col in pairs(objects.collisions) do
|
||||
col.collision = false
|
||||
end
|
||||
|
||||
for _, plat in pairs(objects.platforms) do
|
||||
plat.collision = false
|
||||
if player.pos.y < plat.from.y then
|
||||
plat.disable = false
|
||||
else
|
||||
plat.disable = true
|
||||
end
|
||||
end
|
||||
|
||||
for _, ladder in pairs(objects.ladders) do
|
||||
ladder.collision = false
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user