scenes/levels: make all object locals

This commit is contained in:
Kazhnuz 2019-03-03 13:00:23 +01:00
parent b83a5da0bb
commit ff13de2e3c
14 changed files with 29 additions and 24 deletions

View File

@ -1,3 +1,5 @@
local Obj = require "scenes.levels.entities"
function Level:resetPlayers(player)
self.players = {}
self.deathTimer = -100
@ -17,7 +19,7 @@ end
function Level:spawnPlayer(playerID)
local play = self.players[playerID]
Player(self, self.startx, self.starty, playerID)
Obj.Player(self, self.startx, self.starty, playerID)
self.activePlayer = playerID
end

View File

@ -1,5 +1,8 @@
local Obj = require "scenes.levels.entities"
function Level:initWorld()
self.map = Sti("assets/maps/" .. self.mapfile .. ".lua")
self.obj = Obj
self.world = Bump.newWorld(50)
self.backcolor = self.map.backgroundcolor or {0, 0, 0}
self.blocks = {} -- On vide la liste des blocks
@ -38,10 +41,10 @@ end
function Level:addEntityByName(name, x, y)
if name == "coin" then
Coin(self, x, y)
self.obj.Coin(self, x, y)
end
if name == "block" then
Block(self, x, y, 0)
self.obj.Block(self, x, y, 0)
end
end
@ -86,7 +89,7 @@ function Level:addCollision(x, y, w, h, name) -- Rajouter un block solide dans l
if w == 0 then
w = 1
end
local block = Collision(self, x, y, w, h, name)--{x=x,y=y,w=w,h=h,solid=1}
local block = self.obj.Collision(self, x, y, w, h, name)--{x=x,y=y,w=w,h=h,solid=1}
self.blocks[#self.blocks+1] = block -- On ajoute le block à la liste des blocks
--self:addPhysicalObject(block, x,y,w,h) -- On le rajoute au monde physique

View File

@ -1,6 +1,6 @@
local Entity = require "scenes.levels.entities.parent"
Block = Entity:extend()
local Block = Entity:extend()
function Block:new(level, x , y, item)
Block.super.new(self, level, "block", x, y, 16, 16)
@ -15,11 +15,11 @@ function Block:breakBlock()
local x, y = self:getCenter()
local spd, duration = 250, 5
local dist = 0
Debris(self.level, x+dist, y-dist, spd, 270+45, duration)
Debris(self.level, x+dist, y+dist, spd, 45, duration)
Debris(self.level, x-dist, y+dist, spd, 180+45, duration)
Debris(self.level, x-dist, y-dist, spd, 180-45, duration)
GFX(self.level, self.x+8, self.y+8, "poof", 1)
self.obj.Debris(self.level, x+dist, y-dist, spd, 270+45, duration)
self.obj.Debris(self.level, x+dist, y+dist, spd, 45, duration)
self.obj.Debris(self.level, x-dist, y+dist, spd, 180+45, duration)
self.obj.Debris(self.level, x-dist, y-dist, spd, 180-45, duration)
self.obj.GFX(self.level, self.x+8, self.y+8, "poof", 1)
assets:playSFX("break")
self.level.score = self.level.score + 10
self:destroy()

View File

@ -1,6 +1,6 @@
local Entity = require "scenes.levels.entities.parent"
Bullet = Entity:extend()
local Bullet = Entity:extend()
function Bullet:new(level, x, y, w, h, speed, dir)
Bullet.super.new(self, level, "bullet", x - (w / 2), y - (h / 2), w, h)

View File

@ -1,6 +1,6 @@
local Entity = require "scenes.levels.entities.parent"
Collision = Entity:extend()
local Collision = Entity:extend()
function Collision:new(level, x, y, w, h, collType)
Collision.super.new(self, level, collType, x, y, w, h)

View File

@ -1,6 +1,6 @@
local Entity = require "scenes.levels.entities.parent"
Debris = Entity:extend()
local Debris = Entity:extend()
function Debris:new(level, x, y, speed, dir, timelimit)
Debris.super.new(self, level, "debris", x - 4, y - 4, 8, 8)

View File

@ -1,6 +1,6 @@
local Entity = require "scenes.levels.entities.parent"
GFX = Entity:extend()
local GFX = Entity:extend()
function GFX:new(level, x, y, spritename, animID)
local width, height

View File

@ -1,6 +1,6 @@
local Loot = require "scenes.levels.entities.loot.parent"
Coin = Loot:extend()
local Coin = Loot:extend()
function Coin:new(level, x, y, anim, value)
self.value = value or 1
@ -9,7 +9,7 @@ function Coin:new(level, x, y, anim, value)
end
function Coin:takeLoot()
GFX(self.level, self.x+8, self.y+8, "sparkle", 1)
self.obj.GFX(self.level, self.x+8, self.y+8, "sparkle", 1)
self:destroy()
self.level.gold = self.level.gold + self.value
assets:playSFX("collectcoin")

View File

@ -1,6 +1,6 @@
local Coin = require "scenes.levels.entities.loot.coin"
Coin5 = Coin:extend()
local Coin5 = Coin:extend()
function Coin5:new(level, x, y)
Coin5.super.new(self, level, x, y, 3, 10)

View File

@ -1,6 +1,6 @@
local Coin = require "scenes.levels.entities.loot.coin"
Coin5 = Coin:extend()
local Coin5 = Coin:extend()
function Coin5:new(level, x, y)
Coin5.super.new(self, level, x, y, 2, 5)

View File

@ -1,7 +1,6 @@
local Entity = require "scenes.levels.entities.parent"
Loot = Entity:extend()
WeaponLoot = Loot:extend()
local Loot = Entity:extend()
function Loot:new(level, x, y, name, anim)
Loot.super.new(self, level, "loot", x, y, 16, 16)
@ -11,7 +10,7 @@ function Loot:new(level, x, y, name, anim)
end
function Loot:takeLoot()
GFX(self.level, self.x+8, self.y+8, "sparkle", 1)
self.obj.GFX(self.level, self.x+8, self.y+8, "sparkle", 1)
self:destroy()
self.level.gold = self.level.gold + 1
assets:playSFX("collectcoin")

View File

@ -10,6 +10,7 @@ end
function Entity:initPhysics(level, collType, x, y, w, h)
self.level = level
self.world = level
self.obj = self.world.obj
self.collType = collType
self.gacc = 500

View File

@ -1,6 +1,6 @@
local Entity = require "scenes.levels.entities.parent"
Player = Entity:extend()
local Player = Entity:extend()
-- Initialisation functions
@ -265,7 +265,7 @@ function Player:actionMove(dt)
end
function Player:launchWeapon()
Weapon(self.level, self.center.x, self.center.y, self.weapon, 350 * utils.math.sign(self.direction))
self.obj.Weapon(self.level, self.center.x, self.center.y, self.weapon, 350 * utils.math.sign(self.direction))
end
function Player:changeWeapon(id)

View File

@ -1,6 +1,6 @@
local Entity = require "scenes.levels.entities.parent"
Weapon = Entity:extend()
local Weapon = Entity:extend()
function Weapon:new(level, x, y, id, xsp, ysp)
Weapon.super.new(self, level, "weapon", x-8, y - 8, 16, 16)