local Scene = require "core.modules.scenes" local BattleSystem = Scene:extend() local BattleArena = require "scenes.battlesystem.controller.battlearena" local ActorManager = require "scenes.battlesystem.controller.actors" 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() self:register() end function BattleSystem:initManagers() self.datas = {} self.battlearena = BattleArena(self) self.actormanager = ActorManager(self) self.cursor = Cursor(self) self.menu = MenuSystem(self) end function BattleSystem:update(dt) self.battlearena:update(dt) self.cursor:update(dt) self.actormanager:update(dt) end function BattleSystem:draw() self.battlearena:draw() self.cursor:drawBottom() self.battlearena:drawEntities() self.cursor:drawTop() love.graphics.draw(self.frame, 424, 20, 0, -1, -1) self.actormanager:draw() end function BattleSystem:exit() self.world:destroy() self.battlearena = nil collectgarbage() end return BattleSystem