From e6b96284b24cef174ec963c5073e57eb4e95d96a Mon Sep 17 00:00:00 2001 From: Frederico Linhares Date: Wed, 11 May 2022 13:31:21 -0300 Subject: feat Create Menu::Stack --- lib/menu.rb | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/menu.rb b/lib/menu.rb index a3f1533..11c8715 100644 --- a/lib/menu.rb +++ b/lib/menu.rb @@ -1,4 +1,4 @@ -# Copyright 2021 Frederico de Oliveira Linhares +# Copyright 2022 Frederico de Oliveira Linhares # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,6 +14,24 @@ module CandyGear class Menu + class Stack + def initialize(menu) + @stack = []; + @stack << menu; + end + + def current_menu() = @stack[-1]; + + def push(menu) = @stack << menu; + + def pop() + @stack.pop() if @stack.size > 1; + end + + def draw() = @stack.each {_1.draw();} + def size() = @stack.size; + end + class BorderlessView attr_reader(:texture, :font, :text_color, :bg_color, :sprites); -- cgit v1.2.3