diff --git a/sonic-radiance.love/scenes/battlesystem/controller/menu.lua b/sonic-radiance.love/scenes/battlesystem/controller/menu.lua index 98b1330..0184713 100644 --- a/sonic-radiance.love/scenes/battlesystem/controller/menu.lua +++ b/sonic-radiance.love/scenes/battlesystem/controller/menu.lua @@ -6,6 +6,7 @@ local CharacterMenu = ListBox:extend() local CharMenuWidget = Widget.Text:extend() local SubMenuWidget = CharMenuWidget:extend() +local BackMenuWidget = CharMenuWidget:extend() local MENUPOS_X1, MENUPOS_X2, MENUPOS_Y = 32, 32, 110 local MENU_WIDTH, MENU_ITEM_HEIGHT = 112, 17 @@ -36,7 +37,7 @@ function MenuConstructor:buildBaseMenu(character) SubMenuWidget(self.controller, "BaseMenu", "Objets", "ObjectMenu", character) CharMenuWidget(self.controller, "BaseMenu", "Défendre", "", character) CharMenuWidget(self.controller, "BaseMenu", "Fuite", "", character) - CharMenuWidget(self.controller, "BaseMenu", "Retour", "", character) + BackMenuWidget(self.controller, "BaseMenu", "Retour", character) self.controller.menusystem.menus["BaseMenu"]:setCancelWidget() end @@ -182,4 +183,16 @@ function SubMenuWidget:action() self.scene.menusystem:switchMenu(self.newmenu) end +-- Back Widget + +function BackMenuWidget:new(scene, menu_name, label, character) + BackMenuWidget.super.new(self, scene, menu_name, "Retour", "", character) +end + +function BackMenuWidget:action() + self.character:getBackSignal() + self.scene.menusystem:reset() +end + + return MenuConstructor diff --git a/sonic-radiance.love/scenes/battlesystem/entities/character.lua b/sonic-radiance.love/scenes/battlesystem/entities/character.lua index cad0685..0f09779 100644 --- a/sonic-radiance.love/scenes/battlesystem/entities/character.lua +++ b/sonic-radiance.love/scenes/battlesystem/entities/character.lua @@ -132,4 +132,10 @@ function Character:getSignal(action_type, id) end end +function Character:getBackSignal() + self.currentAction = "selectDirection" + self.controller.cursor:set(self.x, self.y) + self:setAnimation("walk") +end + return Character