diff options
author | Aki <nthirtyone@gmail.com> | 2016-06-07 22:10:29 +0200 |
---|---|---|
committer | Aki <nthirtyone@gmail.com> | 2016-06-07 22:10:29 +0200 |
commit | 33b5a2969a0de51f4241f170cafb386efa31cc99 (patch) | |
tree | 925c904ff4b1a10cf0ee7bdc2bac439adbc1995f | |
parent | 5d9addae1483c5ccfd75b39b50fb950315f9c55e (diff) | |
download | roflnauts-33b5a2969a0de51f4241f170cafb386efa31cc99.zip roflnauts-33b5a2969a0de51f4241f170cafb386efa31cc99.tar.gz roflnauts-33b5a2969a0de51f4241f170cafb386efa31cc99.tar.bz2 |
Dest
Destructors to make memory managment a little bit more efficient in long
terms.
-rw-r--r-- | ground.lua | 6 | ||||
-rw-r--r-- | main.lua | 1 | ||||
-rw-r--r-- | menu.lua | 4 | ||||
-rw-r--r-- | player.lua | 6 | ||||
-rw-r--r-- | world.lua | 12 |
5 files changed, 29 insertions, 0 deletions
@@ -28,6 +28,12 @@ function Ground:new (game, world, x, y, shape, sprite) return o end +-- Destructor of `Ground` +function Ground:delete () + -- body deletion is handled by world deletion + self.sprite = nil +end + -- Draw of `Ground` function Ground:draw (offset_x, offset_y, scale, debug) -- defaults @@ -86,6 +86,7 @@ function love.keypressed (key) end if key == "f5" and debug then local new = World:new("default", {"leon", Controllers[1]}, {"lonestar", Controllers[2]}) + Scene:delete() changeScene(new) end end @@ -33,6 +33,10 @@ function Menu:new () return o end +-- Destructor +function Menu:delete() +end + -- Naut selector function Menu:newSelector() local selector = Selector:new(self) @@ -74,6 +74,12 @@ function Player:new (game, world, x, y, name) return o end +-- Destructor of `Player` +function Player:delete() + -- body deletion is handled by world deletion + self.sprite = nil +end + function Player:assignController(controller) self.controller = controller or nil controller:setParent(self) @@ -65,6 +65,18 @@ function World:new(map, ...) return o end +-- The end of the world +function World:delete() + self.world:destroy() + for _,platform in pairs(self.Platforms) do + platform:delete() + end + for _,naut in pairs(self.Nauts) do + naut:delete() + end + self = nil +end + -- Load map from file function World:loadMap(name) local name = name or "default" |