DEADSOFTWARE

Fix codestyle
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / menu / submenus / Menu.java
index f9d648a37c6996fbc295d8026baf268ebd020f19..dcb06d3d937877a2cf3aa8ea4dd8daf05ad119f9 100644 (file)
@@ -9,14 +9,16 @@ import com.badlogic.gdx.utils.JsonValue;
 import ru.deadsoftware.cavedroid.CaveGame;
 import ru.deadsoftware.cavedroid.GameScreen;
 import ru.deadsoftware.cavedroid.menu.objects.Button;
-import ru.deadsoftware.cavedroid.menu.objects.ButtonDrawer;
 import ru.deadsoftware.cavedroid.menu.objects.ButtonEventListener;
+import ru.deadsoftware.cavedroid.menu.objects.ButtonRenderer;
 import ru.deadsoftware.cavedroid.misc.Assets;
 
 import java.util.HashMap;
 
 public abstract class Menu {
 
+    private ButtonRenderer buttonRenderer;
+
     private float width;
     private float height;
 
@@ -26,12 +28,14 @@ public abstract class Menu {
     private ArrayMap<String, Button> buttons;
 
     /**
-     * @param width  Viewport width
-     * @param height Viewport height
+     * @param width          Viewport width
+     * @param height         Viewport height
+     * @param buttonRenderer {@link ButtonRenderer} that will draw the buttons of this menu
      */
-    Menu(float width, float height) {
+    Menu(float width, float height, ButtonRenderer buttonRenderer) {
         this.width = width;
         this.height = height;
+        this.buttonRenderer = buttonRenderer;
         initButtons();
     }
 
@@ -52,7 +56,9 @@ public abstract class Menu {
      * @param jsonFile A {@link FileHandle} to json file
      */
     void loadButtonsFromJson(FileHandle jsonFile) {
-        if (buttons == null) buttons = new ArrayMap<>();
+        if (buttons == null) {
+            buttons = new ArrayMap<>();
+        }
         HashMap<String, ButtonEventListener> eventListeners = getButtonEventListeners();
         JsonValue json = Assets.jsonReader.parse(jsonFile);
         int y = (int) height / 4;
@@ -60,7 +66,8 @@ public abstract class Menu {
             buttons.put(key.name(),
                     new Button(Assets.getStringFromJson(key, "label", ""),
                             (int) width / 2 - Button.WIDTH / 2,
-                            Assets.getIntFromJson(key, "y", y), Assets.getIntFromJson(key, "type", Button.NORMAL),
+                            Assets.getIntFromJson(key, "y", y),
+                            Assets.getIntFromJson(key, "type", Button.NORMAL),
                             eventListeners.containsKey(key.name()) ? eventListeners.get(key.name()) : () -> {
                             }));
         }
@@ -71,7 +78,7 @@ public abstract class Menu {
      *
      * @param spriter {@link SpriteBatch} that will draw it. Should be already started.
      */
-    public void draw(SpriteBatch spriter, ButtonDrawer buttonDrawer, float width, float height) {
+    public void draw(SpriteBatch spriter) {
         TextureRegion background = Assets.textureRegions.get("background");
         TextureRegion gamelogo = Assets.textureRegions.get("gamelogo");
 
@@ -92,7 +99,7 @@ public abstract class Menu {
                     button.setType(1);
                 }
             }
-            button.draw(buttonDrawer);
+            button.draw(buttonRenderer);
         }
     }