local monarch = require "monarch.monarch" local transitions = require "monarch.transitions.gui" function init(self) msg.post(".", "acquire_input_focus") self.yes = gui.get_node("yes_button") self.no = gui.get_node("no_button") gui.set_render_order(15) self.transition = transitions.create(gui.get_node("root")) .show_in(transitions.scale_in, gui.EASING_OUTBACK, 0.3, 0) .show_out(transitions.scale_out, gui.EASING_INBACK, 0.3, 0) .back_in(transitions.scale_in, gui.EASING_OUTBACK, 0.3, 0) .back_out(transitions.scale_out, gui.EASING_INBACK, 0.3, 0) end function on_input(self, action_id, action) if action_id == hash("touch") and action.released then if gui.pick_node(self.yes, action.x, action.y) then print("yes") if monarch.data("confirm").next then monarch.show(monarch.data("confirm").next, nil, nil, function() print("next screen show done") end) else print("no next screen in data") end elseif gui.pick_node(self.no, action.x, action.y) then print("no") monarch.back(function() print("back from popup done") end) end end end function on_message(self, message_id, message, sender) self.transition.handle(message_id, message, sender) end