From 291e9ffce1151be503f1c4550e6f4ff3230960b9 Mon Sep 17 00:00:00 2001 From: Aki Date: Wed, 13 Sep 2017 04:07:16 +0200 Subject: CloudGenerator's atlas and quads are loaded from map config --- not/CloudGenerator.lua | 22 ++-------------------- not/World.lua | 6 +++++- 2 files changed, 7 insertions(+), 21 deletions(-) (limited to 'not') diff --git a/not/CloudGenerator.lua b/not/CloudGenerator.lua index fb1b617..3285938 100644 --- a/not/CloudGenerator.lua +++ b/not/CloudGenerator.lua @@ -4,28 +4,10 @@ CloudGenerator = require "not.Object":extends() require "not.Cloud" -local animations = { - default = { - [1] = love.graphics.newQuad( 1, 1, 158,47, 478,49), - frames = 1, - repeated = true - }, - default2 = { - [1] = love.graphics.newQuad(160, 1, 158,47, 478,49), - frames = 1, - repeated = true - }, - default3 = { - [1] = love.graphics.newQuad(319, 1, 158,47, 478,49), - frames = 1, - repeated = true - } -} - -- TODO: Allow map config to modify cloud styles: maximum cloud count, animations and atlas. -function CloudGenerator:new (world) +function CloudGenerator:new (atlas, animations, world) self.world = world - self.atlas = "assets/clouds.png" + self.atlas = atlas self.quads = animations self.count = 18 self.interval = 6 diff --git a/not/World.lua b/not/World.lua index 5d46b5b..e0febb7 100644 --- a/not/World.lua +++ b/not/World.lua @@ -97,7 +97,11 @@ function World:buildMap () bg.layer = self:addLayer(width, height, op.ratio) end if op.clouds then - self:insertEntity(CloudGenerator(self)):run(6, true) + local animations = op.animations + if type(animations) == "string" then + animations = require("config.animations." .. animations) + end + self:insertEntity(CloudGenerator(op.clouds, animations, self)):run(6, true) end end end -- cgit v1.1