diff --git a/Basalt/Frame.lua b/Basalt/Frame.lua index 0640e01..0bb3c0a 100644 --- a/Basalt/Frame.lua +++ b/Basalt/Frame.lua @@ -83,7 +83,6 @@ return function(name, parent, pTerm, basalt) end local function getObject(name) - if(type(name)=="number")then name = tostring(number) end if(type(name)~="string")then name = name.name end for _, value in pairs(objects) do for _, b in pairs(value) do @@ -109,7 +108,7 @@ return function(name, parent, pTerm, basalt) local function addObject(obj) local zIndex = obj:getZIndex() if (getObject(obj.name) ~= nil) then - return nil + return end if (objects[zIndex] == nil) then for x = 1, #objZIndex + 1 do @@ -163,14 +162,14 @@ return function(name, parent, pTerm, basalt) table.remove(objects[a], key) removeEvents(object, value) self:updateDraw() - return true; + return true end else if (value == obj) then table.remove(objects[a], key) removeEvents(object, value) self:updateDraw() - return true; + return true end end end @@ -193,7 +192,7 @@ return function(name, parent, pTerm, basalt) if(events[event]==nil)then events[event] = {} end if(eventZIndex[event]==nil)then eventZIndex[event] = {} end if (getEvent(self, event, obj.name) ~= nil) then - return nil + return end if(self.parent~=nil)then self.parent:addEvent(event, self) @@ -221,6 +220,7 @@ return function(name, parent, pTerm, basalt) table.insert(events[event][zIndex], obj) return obj end + local function removeEvent(self, event, obj) if(events[event]~=nil)then @@ -412,7 +412,22 @@ return function(name, parent, pTerm, basalt) getType = function(self) return objectType - end; + end, + + getObjectCount = function(self) + local count = 0 + for _, value in pairs(objects) do + count = count+#value + end + return count + end, + getEventCount = function(self, ev) + local count = 0 + for _, value in pairs(events[ev]) do + count = count+#value + end + return count + end, setZIndex = function(self, newIndex) base.setZIndex(self, newIndex) diff --git a/Basalt/main.lua b/Basalt/main.lua index b2d24ff..68278d5 100644 --- a/Basalt/main.lua +++ b/Basalt/main.lua @@ -246,9 +246,9 @@ local function basaltUpdateEvent(event, ...) end if(event == "monitor_touch") then - if(monFrames[p1]~=nil)then - monFrames[p1]:mouseHandler(1, a[2], a[3], true) - activeFrame = monFrames[p1] + if(monFrames[a[1]]~=nil)then + monFrames[a[1]]:mouseHandler(1, a[2], a[3], true) + activeFrame = monFrames[a[1]] end if(count(monGroups)>0)then for k,v in pairs(monGroups)do