chore: add basis of the new choregraphy viewer
This commit is contained in:
parent
751951f734
commit
2509708067
4 changed files with 107 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
||||||
return {
|
return {
|
||||||
menu = require "scenes.debug.menu",
|
menu = require "scenes.debug.menu",
|
||||||
viewers = {
|
viewers = {
|
||||||
battleBack = require "scenes.debug.viewers.battleBack"
|
battleBack = require "scenes.debug.viewers.battleBack",
|
||||||
|
choregraphy = require "scenes.debug.viewers.choregraphy"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@ function DebugMenu:buildBattleMenu()
|
||||||
self:addSubMenu("combat", "BaseMenu", "Battle System")
|
self:addSubMenu("combat", "BaseMenu", "Battle System")
|
||||||
menu.commons.SceneWidget(self, "combat", scenes.cbs, "Launch Battle")
|
menu.commons.SceneWidget(self, "combat", scenes.cbs, "Launch Battle")
|
||||||
menu.commons.SceneWidget(self, "combat", scenes.debug.viewers.battleBack, "Background Viewer")
|
menu.commons.SceneWidget(self, "combat", scenes.debug.viewers.battleBack, "Background Viewer")
|
||||||
|
menu.commons.SceneWidget(self, "combat", scenes.debug.viewers.choregraphy, "Choregraphy Viewer")
|
||||||
|
|
||||||
menu.commons.SubMenuWidget(self, "combat", "BaseMenu", "Back")
|
menu.commons.SubMenuWidget(self, "combat", "BaseMenu", "Back")
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,74 @@
|
||||||
|
local Scene = require "core.modules.scenes"
|
||||||
|
local menu = require "scenes.debug.viewers.choregraphy.menu"
|
||||||
|
|
||||||
|
local ChoregraphyViewer = Scene:extend()
|
||||||
|
|
||||||
|
local World = require "scenes.battlesystem.world"
|
||||||
|
|
||||||
|
|
||||||
|
function ChoregraphyViewer:new()
|
||||||
|
ChoregraphyViewer.super.new(self)
|
||||||
|
self.assets:batchImport("scenes.battlesystem.assets")
|
||||||
|
self.world = World(self)
|
||||||
|
|
||||||
|
self:buildMenu()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- MENU FUNCTIONS
|
||||||
|
function ChoregraphyViewer:buildMenu()
|
||||||
|
menu.commons.DebugMenu(self, "MainMenu")
|
||||||
|
|
||||||
|
self:buildCharacterMenu()
|
||||||
|
|
||||||
|
self.menusystem:activate()
|
||||||
|
self.menusystem:switchMenu("MainMenu")
|
||||||
|
menu.commons.SceneWidget(self, "MainMenu", scenes.debug.menu, "Back")
|
||||||
|
end
|
||||||
|
|
||||||
|
function ChoregraphyViewer:buildCharacterMenu()
|
||||||
|
self:addSubMenu("characters", "MainMenu", "Characters")
|
||||||
|
for k, character in pairs(game.characters.list) do
|
||||||
|
self:addSubMenu(k, "characters", character.fullname)
|
||||||
|
menu.HeroChoregraphyWidget(self, k, game.skills:getSkillData("attack"))
|
||||||
|
self:buildSkillMenu(k)
|
||||||
|
menu.commons.SubMenuWidget(self, k, "characters", "Back")
|
||||||
|
end
|
||||||
|
menu.commons.SubMenuWidget(self, "characters", "MainMenu", "Back")
|
||||||
|
end
|
||||||
|
|
||||||
|
function ChoregraphyViewer:buildSkillMenu(charName)
|
||||||
|
local skillList = require("datas.gamedata.characters." .. charName .. ".skills")
|
||||||
|
local skillTreated = {}
|
||||||
|
for i,skill in ipairs(skillList) do
|
||||||
|
local skillName = skill[1]
|
||||||
|
if (skillTreated[skillName] ~= true) then
|
||||||
|
skillTreated[skillName] = true
|
||||||
|
if (game.skills:skillDataExists(skillName)) then
|
||||||
|
menu.HeroChoregraphyWidget(self, charName, game.skills:getSkillData(skillName))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ChoregraphyViewer:addSubMenu(submenu, parent, name)
|
||||||
|
local parent = parent or "MainMenu"
|
||||||
|
menu.commons.DebugMenu(self, submenu)
|
||||||
|
menu.commons.SubMenuWidget(self, parent, submenu, name .. " >")
|
||||||
|
end
|
||||||
|
|
||||||
|
-- MOCKS FUNCTIONS
|
||||||
|
|
||||||
|
-- OTHER
|
||||||
|
function ChoregraphyViewer:update(dt)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function ChoregraphyViewer:setBackground(newBackground)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function ChoregraphyViewer:draw()
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
return ChoregraphyViewer
|
|
@ -0,0 +1,30 @@
|
||||||
|
local commons = require "scenes.debug.commons.menu"
|
||||||
|
local menu = {}
|
||||||
|
menu.commons = commons
|
||||||
|
menu.ShowBackgroundWidget = menu.commons.DebugWidget:extend()
|
||||||
|
menu.HeroChoregraphyWidget = commons.DebugWidget:extend()
|
||||||
|
|
||||||
|
-- ShowBackground
|
||||||
|
function menu.ShowBackgroundWidget:new(scene, menuName, backgroundName, backgroundId)
|
||||||
|
menu.ShowBackgroundWidget.super.new(self, scene, menuName, backgroundName)
|
||||||
|
self.backgroundId = backgroundId
|
||||||
|
end
|
||||||
|
|
||||||
|
function menu.ShowBackgroundWidget:action()
|
||||||
|
self.scene:setBackground(self.backgroundId)
|
||||||
|
self.scene.menusystem:deactivate()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- ShowBackground
|
||||||
|
function menu.HeroChoregraphyWidget:new(scene, charName, skillData)
|
||||||
|
menu.HeroChoregraphyWidget.super.new(self, scene, charName, skillData.name)
|
||||||
|
self.character = charName
|
||||||
|
self.skillData = skillData
|
||||||
|
end
|
||||||
|
|
||||||
|
function menu.HeroChoregraphyWidget:action()
|
||||||
|
self.scene.menusystem:deactivate()
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
return menu
|
Loading…
Reference in a new issue