From da647237a7fddc98ac064d81254aed74e25bfcbf Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Wed, 14 Aug 2019 13:56:25 +0200 Subject: [PATCH] chore: simplify hud handling --- .../scenes/battlesystem/controller/actors.lua | 6 +++- .../scenes/battlesystem/controller/hud.lua | 36 ------------------- .../scenes/battlesystem/entities/base.lua | 4 +++ .../battlesystem/entities/character.lua | 21 ++++++----- .../scenes/battlesystem/init.lua | 10 +++--- 5 files changed, 25 insertions(+), 52 deletions(-) delete mode 100644 sonic-radiance.love/scenes/battlesystem/controller/hud.lua diff --git a/sonic-radiance.love/scenes/battlesystem/controller/actors.lua b/sonic-radiance.love/scenes/battlesystem/controller/actors.lua index 9318c3d..dda7eed 100644 --- a/sonic-radiance.love/scenes/battlesystem/controller/actors.lua +++ b/sonic-radiance.love/scenes/battlesystem/controller/actors.lua @@ -21,7 +21,7 @@ function ActorManager:new(controller) self.cursor = self.turns.current for i, v in ipairs(game.characters.team) do - self:addCharacter(POSITIONS[i].x, POSITIONS[i].y, v) + self:addCharacter(POSITIONS[i].x, POSITIONS[i].y, v, i) end self:addEnnemy(10, 3, "motobug") @@ -131,6 +131,10 @@ function ActorManager:draw() v.actor:drawIcon(4 + (i-1)*(20), 6) end self.controller.assets.images["menucursor"]:draw(self.cursor * 20 - 6, 26, math.rad(-90), 1, 1, 4, 8) + + for i,v in ipairs(self.actorlist) do + v:drawHUD() + end end return ActorManager diff --git a/sonic-radiance.love/scenes/battlesystem/controller/hud.lua b/sonic-radiance.love/scenes/battlesystem/controller/hud.lua deleted file mode 100644 index ce13a11..0000000 --- a/sonic-radiance.love/scenes/battlesystem/controller/hud.lua +++ /dev/null @@ -1,36 +0,0 @@ -local BattleHUD = Object:extend() - -local gui = require "game.modules.gui" - -function BattleHUD:new(controller) - self.controller = controller - - self:loadAssets() -end - -function BattleHUD:loadAssets() - self.frame = gui.newBorder(424, 30, 8) -end - -function BattleHUD:destroy( ) - self.frame:release( ) -end - -function BattleHUD:update(dt) - -end - -function BattleHUD:draw() - self.controller.assets.fonts["hudnbrs"]:set() - self:drawFrame() - --self.controller:resetFont( ) -end - -function BattleHUD:drawFrame() - love.graphics.draw(self.frame, 424, 20, 0, -1, -1) - self.controller.assets.images["statusbar"]:draw(-8, 32) - self.controller.assets.images["statusbar"]:draw(-8 + 128 + 24, 32) - self.controller.assets.images["statusbar"]:draw(-8 + 256 + 48, 32) -end - -return BattleHUD diff --git a/sonic-radiance.love/scenes/battlesystem/entities/base.lua b/sonic-radiance.love/scenes/battlesystem/entities/base.lua index 4d626dd..82292b5 100644 --- a/sonic-radiance.love/scenes/battlesystem/entities/base.lua +++ b/sonic-radiance.love/scenes/battlesystem/entities/base.lua @@ -58,4 +58,8 @@ function BaseEntity:drawShadow() self.controller.assets.images["actorsShadow"]:draw(x, y, 0, 1, 1, 12, 5) end +function BaseEntity:drawHUD() + +end + return BaseEntity diff --git a/sonic-radiance.love/scenes/battlesystem/entities/character.lua b/sonic-radiance.love/scenes/battlesystem/entities/character.lua index 3da70ab..9f72f8d 100644 --- a/sonic-radiance.love/scenes/battlesystem/entities/character.lua +++ b/sonic-radiance.love/scenes/battlesystem/entities/character.lua @@ -1,7 +1,7 @@ local Actor = require("scenes.battlesystem.entities.actor") local Character = Actor:extend() -function Character:new(controller, x, y, charid) +function Character:new(controller, x, y, charid, charnumber) Character.super.new(self, controller, x, y, 0) self.isHero = true self.turnAction = nil @@ -19,6 +19,8 @@ function Character:new(controller, x, y, charid) self.assets.sprites[self.charid]:setCustomSpeed(16) self:setAnimation("idle") self:setSprite(charid, 32, 48, true) + + self.charnumber = charnumber or 1 end function Character:setAnimation(animation) @@ -143,16 +145,13 @@ function Character:getBackSignal() self:setAnimation("walk") end -function Character:drawStatus(frame, x, y) - love.graphics.draw(frame, x, y) - local y1 = y + 8 - local x1 = x + 16 - local x2 = x1 + 120 - love.graphics.setColor(.05, .8, .05, 1) - for i=0, 3 do - love.graphics.line(x1-i, y1+i, x2-i, y1+i) - end - utils.graphics.resetColor() +function Character:drawHUD() + local HUDBASE = -8 + local HUDSEP = 152 + local x = HUDBASE + (self.charnumber-1)*HUDSEP + local y = 32 + + self.controller.assets.images["statusbar"]:draw(x, y) end return Character diff --git a/sonic-radiance.love/scenes/battlesystem/init.lua b/sonic-radiance.love/scenes/battlesystem/init.lua index dd947cd..bdad93d 100644 --- a/sonic-radiance.love/scenes/battlesystem/init.lua +++ b/sonic-radiance.love/scenes/battlesystem/init.lua @@ -8,10 +8,14 @@ local HUD = require "scenes.battlesystem.controller.hud" local Cursor = require "scenes.battlesystem.controller.cursor" local MenuSystem = require "scenes.battlesystem.controller.menu" +local gui = require "game.modules.gui" + function BattleSystem:new() BattleSystem.super.new(self) + self.assets:batchImport("scenes.battlesystem.assets") + self.frame = gui.newBorder(424, 30, 8) self:initManagers() @@ -19,17 +23,14 @@ function BattleSystem:new() end function BattleSystem:initManagers() - --self.loader = Loader() self.datas = {} self.battlearena = BattleArena(self) self.actormanager = ActorManager(self) - self.hud = HUD(self) self.cursor = Cursor(self) self.menu = MenuSystem(self) end function BattleSystem:update(dt) - self.hud:update(dt) self.battlearena:update(dt) self.cursor:update(dt) @@ -41,7 +42,8 @@ function BattleSystem:draw() self.cursor:drawBottom() self.battlearena:drawEntities() self.cursor:drawTop() - self.hud:draw() + + love.graphics.draw(self.frame, 424, 20, 0, -1, -1) self.actormanager:draw() end