aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--panel.lua2
-rw-r--r--system.lua10
-rw-r--r--var.lua15
-rw-r--r--window.lua124
4 files changed, 22 insertions, 129 deletions
diff --git a/panel.lua b/panel.lua
index 6c85d09..b66d45c 100644
--- a/panel.lua
+++ b/panel.lua
@@ -1,6 +1,6 @@
function drawPanelButton(id)
love.graphics.setColor(150, 150, 150)
- if panel.b[id] ~= 0 then
+ if panel.b[id] ~= nil then
if layer[1] == panel.b[id] and win[panel.b[id]].min == false then
drawDownBox(panel.s.x+72+(panel.s.dis*id-panel.s.dis), panel.s.y, panel.s.width*2.75, panel.s.height, 2)
else
diff --git a/system.lua b/system.lua
index ec2f134..4e23570 100644
--- a/system.lua
+++ b/system.lua
@@ -1,7 +1,5 @@
function drawLayer(id)
- if layer[id] ~= 0 then
- love.graphics.draw(win[layer[id]].cvs, win[layer[id]].x, win[layer[id]].y, 0, win[layer[id]].s)
- end
+ love.graphics.draw(win[layer[id]].cvs, win[layer[id]].x, win[layer[id]].y, 0, win[layer[id]].s)
end
function updateSystem(dt)
timeNoti(dt)
@@ -28,16 +26,14 @@ function drawSystem()
if start.o == true and sys.mouse.p.p == true and sys.mouse.p.x > 255 or sys.mouse.p.y < sys.h-380 then
start.o = false
end
- for i=1,7 do
- drawLayer(8-i)
+ for i=1,#layer do
+ drawLayer((#layer+1)-i)
end
drawStart()
if start.o == true then
drawMenu()
end
drawNoti()
- --love.graphics.print(layer[1] .. layer[2] .. layer[3] .. layer[4] .. layer[5] .. layer[6] .. layer[7])
- --love.graphics.print(win[1].layer .. win[2].layer .. win[3].layer .. win[4].layer .. win[5].layer .. win[6].layer, 0, 20)
if fade == 0 and fadeOpacity ~= 0 then
love.graphics.setColor(0, 0, 0, fadeOpacity)
love.graphics.rectangle("fill", 0, 0, sys.w, sys.h)
diff --git a/var.lua b/var.lua
index 9a9de2b..e343bd6 100644
--- a/var.lua
+++ b/var.lua
@@ -23,6 +23,7 @@ function loadWin(id, w, h, title, ico, ico16)
win[id].icon16 = ico16
win[id].exit = true
win[id].bar = "grey"
+ win[id].pan = 0
end
function loadVar()
sys = {}
@@ -52,13 +53,6 @@ function loadVar()
panel.s.activate = false
panel.s.dis = 185
panel.b = {}
- panel.b[1] = 0
- panel.b[2] = 0
- panel.b[3] = 0
- panel.b[4] = 0
- panel.b[5] = 0
- panel.b[6] = 0
- panel.b[7] = 0
test = false
win = {}
loadWin(1, 250, 400, "Chat", icons[32].chat, icons[16].chat)
@@ -77,13 +71,6 @@ function loadVar()
start.x = 0
start.y = 600-30-350+2
layer = {}
- layer[1] = 0
- layer[2] = 0
- layer[3] = 0
- layer[4] = 0
- layer[5] = 0
- layer[6] = 0
- layer[7] = 0
layer.sentToFront = 0
desktop.bg.current = 0
fade = 0
diff --git a/window.lua b/window.lua
index f6c5cf9..e094843 100644
--- a/window.lua
+++ b/window.lua
@@ -125,41 +125,10 @@ function drawWindow(id)
end
function orderWindows()
if layer.sentToFront ~= 0 and layer[1] ~= layer.sentToFront then
- if win[layer.sentToFront].oldlayer == 2 then
- layer[2] = layer[1]
- layer[1] = id
- elseif win[layer.sentToFront].oldlayer == 3 then
- layer[3] = layer[2]
- layer[2] = layer[1]
- layer[1] = id
- elseif win[layer.sentToFront].oldlayer == 4 then
- layer[4] = layer[3]
- layer[3] = layer[2]
- layer[2] = layer[1]
- layer[1] = id
- elseif win[layer.sentToFront].oldlayer == 5 then
- layer[5] = layer[4]
- layer[4] = layer[3]
- layer[3] = layer[2]
- layer[2] = layer[1]
- layer[1] = id
- elseif win[layer.sentToFront].oldlayer == 6 then
- layer[6] = layer[5]
- layer[5] = layer[4]
- layer[4] = layer[3]
- layer[3] = layer[2]
- layer[2] = layer[1]
- layer[1] = id
- else
- layer[7] = layer[6]
- layer[6] = layer[5]
- layer[5] = layer[4]
- layer[4] = layer[3]
- layer[3] = layer[2]
- layer[2] = layer[1]
- layer[1] = id
- end
- layer[1] = layer.sentToFront
+ if win[layer.sentToFront].layer ~= 0 then
+ table.remove(layer, win[layer.sentToFront].layer)
+ end
+ table.insert(layer, 1, layer.sentToFront)
win[layer.sentToFront].oldlayer = win[layer.sentToFront].layer
win[layer.sentToFront].layer = 1
layer.sentToFront = 0
@@ -167,30 +136,6 @@ function orderWindows()
for i=1,6 do
closeWindow(7-i)
end
- if layer[6] == 0 and layer[7] ~= 0 then
- layer[6] = layer[7]
- layer[7] = 0
- end
- if layer[5] == 0 and layer[6] ~= 0 then
- layer[5] = layer[6]
- layer[6] = 0
- end
- if layer[4] == 0 and layer[5] ~= 0 then
- layer[4] = layer[5]
- layer[5] = 0
- end
- if layer[3] == 0 and layer[4] ~= 0 then
- layer[3] = layer[4]
- layer[4] = 0
- end
- if layer[2] == 0 and layer[3] ~= 0 then
- layer[2] = layer[3]
- layer[3] = 0
- end
- if layer[1] == 0 and layer[2] ~= 0 then
- layer[1] = layer[2]
- layer[2] = 0
- end
for i=1,6 do
setWindow(7-i)
setPanel(7-i)
@@ -198,59 +143,24 @@ function orderWindows()
end
end
function setWindow(id)
- if layer[id] ~= 0 then
+ if layer[id] ~= nil then
win[layer[id]].oldlayer = win[layer[id]].layer
win[layer[id]].layer = id
end
end
function setPanel(id)
- if win[id].ex == false then
- if panel.b[1] == 0 then
- panel.b[1] = id
- elseif panel.b[2] == 0 and panel.b[1] ~= id then
- panel.b[2] = id
- elseif panel.b[3] == 0 and panel.b[1] ~= id and panel.b[2] ~= id then
- panel.b[3] = id
- elseif (panel.b[4] == 0 and panel.b[1] ~= id and panel.b[2] ~= id
- and panel.b[3] ~= id) then
- panel.b[4] = id
- elseif (panel.b[5] == 0 and panel.b[1] ~= id and panel.b[2] ~= id
- and panel.b[3] ~= id and panel.b[4] ~= id) then
- panel.b[5] = id
- elseif (panel.b[6] == 0 and panel.b[1] ~= id and panel.b[2] ~= id
- and panel.b[3] ~= id and panel.b[4] ~= id and panel.b[5] ~= id) then
- panel.b[6] = id
+ if win[id].ex == false and win[id].pan == 0 then
+ table.insert(panel.b, id)
+ win[id].pan = #panel.b
+ end
+ if win[id].ex == true and win[id].pan ~= 0 then
+ table.remove(panel.b, win[id].panel)
+ for i=1,#panel.b do
+ if panel.b[i] == id then
+ table.remove(panel.b, i)
+ end
end
- end
- if win[id].ex == true then
- if panel.b[1] == id then
- panel.b[1] = panel.b[2]
- panel.b[2] = panel.b[3]
- panel.b[3] = panel.b[4]
- panel.b[4] = panel.b[5]
- panel.b[5] = panel.b[6]
- panel.b[6] = panel.b[7]
- elseif panel.b[2] == id then
- panel.b[2] = panel.b[3]
- panel.b[3] = panel.b[4]
- panel.b[4] = panel.b[5]
- panel.b[5] = panel.b[6]
- panel.b[6] = panel.b[7]
- elseif panel.b[3] == id then
- panel.b[3] = panel.b[4]
- panel.b[4] = panel.b[5]
- panel.b[5] = panel.b[6]
- panel.b[6] = panel.b[7]
- elseif panel.b[4] == id then
- panel.b[4] = panel.b[5]
- panel.b[5] = panel.b[6]
- panel.b[6] = panel.b[7]
- elseif panel.b[5] == id then
- panel.b[5] = panel.b[6]
- panel.b[6] = panel.b[7]
- elseif panel.b[6] == id then
- panel.b[6] = panel.b[7]
- end
+ win[id].pan = 0
end
end
function closeWindow(id)
@@ -261,7 +171,7 @@ function closeWindow(id)
win[id].exit = false
end
if win[id].layer ~= 0 and win[id].exit == true then
- layer[win[id].layer] = 0
+ table.remove(layer, win[id].layer)
win[id].oldlayer = win[id].layer
win[id].layer = 0
end