// Path: core/src/main/java/com/rubentxu/juegos/core/managers/game/ResourcesManager.java
// public class ResourcesManager extends AssetManager implements Disposable {
// 
//     private Styles styles;
// 
//     public static final String GUI_ATLAS = "gui/gui.pack";
//     public static final String GUI_PACK_ATLAS = "gui/gui-pack.pack";
//     public static final String UISKIN_ATLAS = "gui/uiskin.pack";
//     public static final String SPRITE_ATLAS = "imagenes/animaciones/sprites.pack";
//     public static final String VARIOS_ATLAS = "imagenes/varios/varios.pack";
//     public static final String OBJECTS_ATLAS = "imagenes/varios/objects.pack";
//     public static final String SPLASH = "imagenes/fondos/splash.jpg";
//     public static final String DEFAULT_FONT = "fonts/Brushy_Cre-64.fnt";
//     public static final String DEBUG_FONT = "fonts/SuperMarioBros-96.fnt";
//     public static final String HEADER_FONT = "fonts/MarioLuigi2-96.fnt";
//     public static final String DEBUG_BACKGROUND = "imagenes/fondos/debug.jpg";
//     public static final String TREE_BACKGROUND = "imagenes/fondos/arboles.png";
//     public static final String LEVEL1_BACKGROUND = "imagenes/fondos/fondo.jpg";
//     public static final String STATS_BACKGROUND = "imagenes/fondos/fondoStats.png";
//     public static final String CLOUD_BACKGROUND = "imagenes/fondos/nubes.png";
//     public static final String MENU_BACKGROUND = "imagenes/fondos/menu-backgroud.jpg";
//     public static final String PARTICLE_EFFECT = "particles/dust.pfx";
//     public static final String PARTICLE_EFFECT_CONTACT = "particles/contact.pfx";
//     public static final String MUSIC_MENU = "sounds/music/MonkeysSpinningMonkeys.mp3";
//     // Sonidos
//     public static final String HIT_SOUND = "sounds/sound/Hit_Hurt.ogg";
//     public static final String JUMP_SOUND = "sounds/sound/Jump.ogg";
//     public static final String PICKUP_COIN_SOUND = "sounds/sound/Pickup_Coin.ogg";
//     public static final String POWERUP_SOUND = "sounds/sound/Powerup.ogg";
// 
// 
//     public ResourcesManager() {
//         super();
//         loadSplash();
//         loadAssetsGame();
//         loadSounds();
//         this.finishLoading();
//         styles=new Styles(this);
//     }
// 
//     @Override
//     public void finishLoading () {
//         Gdx.app.log(Constants.LOG, "Finish Loading Assets: ");
//         super.finishLoading();
//     }
// 
//     @Override
//     public synchronized <T> void load (String fileName, Class<T> type) {
//         Gdx.app.log(Constants.LOG, "Load Asset: " + fileName+" Type: "+ type.getName());
//         load(fileName, type, null);
//     }
// 
//     private void loadAssetsGame() {
//         Gdx.app.log(Constants.LOG, "Load ResourcesManager Game");
//         this.load(DEFAULT_FONT, BitmapFont.class);
//         this.load(DEBUG_FONT, BitmapFont.class);
//         this.load(HEADER_FONT, BitmapFont.class);
//         this.load(DEBUG_BACKGROUND, Texture.class);
//         this.load(MENU_BACKGROUND, Texture.class);
//         this.load(STATS_BACKGROUND, Texture.class);
//         this.load(SPRITE_ATLAS, TextureAtlas.class);
//         this.load(VARIOS_ATLAS, TextureAtlas.class);
//         this.load(OBJECTS_ATLAS, TextureAtlas.class);
//         this.load(GUI_ATLAS, TextureAtlas.class);
//         this.load(GUI_PACK_ATLAS, TextureAtlas.class);
//         this.load(UISKIN_ATLAS, TextureAtlas.class);
//         this.load(PARTICLE_EFFECT, ParticleEffect.class);
//         this.load(PARTICLE_EFFECT_CONTACT, ParticleEffect.class);
//         this.setLoader(TiledMap.class, new TmxMapLoader(new InternalFileHandleResolver()));
//         this.load(MUSIC_MENU,Music.class);
// 
//     }
// 
//     public void loadSplash() {
//         this.load(SPLASH, Texture.class);
//     }
// 
//     public Music getMusic(String name) {
//         if (this.isLoaded(name,Music.class)) return this.get(name,Music.class);
//         this.load(name, Music.class);
//         this.finishLoading();
//         return this.get(name,Music.class);
//     }
// 
//     @Override
//     public void dispose() {
//         super.dispose();
//         styles.dispose();
//     }
// 
//     public void loadSounds() {
//         this.load(HIT_SOUND, Sound.class);
//         this.load(JUMP_SOUND, Sound.class);
//         this.load(PICKUP_COIN_SOUND, Sound.class);
//         this.load(POWERUP_SOUND, Sound.class);
//     }
// 
//     public Sound getSound(String sound) {
//         return this.get(sound, Sound.class);
//     }
// 
//     public Styles getStyles() {
//         return styles;
//     }
// }


import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.rubentxu.juegos.core.managers.game.ResourcesManager;
package com.rubentxu.juegos.core.utils.gui.mtx;


public class ButtonLevel extends AbstractButton {
    // Level stars (Not mandatory)
    private TextureRegion textureStarHolder;
    private TextureRegion textureStar;
    private int numberOfTotalStars = 1;
    private int numberOfEarnedStars = 1;
    private float starSizeWidth;
    private float starSizeHeight;
    private float starPosXStart = 0;
    private float starPosYStart = 0;
    private float starSizeRatio = 5;

    // Level Number (Not mandatory)
// Path: core/src/main/java/com/rubentxu/juegos/core/managers/game/ResourcesManager.java
// public class ResourcesManager extends AssetManager implements Disposable {
// 
//     private Styles styles;
// 
//     public static final String GUI_ATLAS = "gui/gui.pack";
//     public static final String GUI_PACK_ATLAS = "gui/gui-pack.pack";
//     public static final String UISKIN_ATLAS = "gui/uiskin.pack";
//     public static final String SPRITE_ATLAS = "imagenes/animaciones/sprites.pack";
//     public static final String VARIOS_ATLAS = "imagenes/varios/varios.pack";
//     public static final String OBJECTS_ATLAS = "imagenes/varios/objects.pack";
//     public static final String SPLASH = "imagenes/fondos/splash.jpg";
//     public static final String DEFAULT_FONT = "fonts/Brushy_Cre-64.fnt";
//     public static final String DEBUG_FONT = "fonts/SuperMarioBros-96.fnt";
//     public static final String HEADER_FONT = "fonts/MarioLuigi2-96.fnt";
//     public static final String DEBUG_BACKGROUND = "imagenes/fondos/debug.jpg";
//     public static final String TREE_BACKGROUND = "imagenes/fondos/arboles.png";
//     public static final String LEVEL1_BACKGROUND = "imagenes/fondos/fondo.jpg";
//     public static final String STATS_BACKGROUND = "imagenes/fondos/fondoStats.png";
//     public static final String CLOUD_BACKGROUND = "imagenes/fondos/nubes.png";
//     public static final String MENU_BACKGROUND = "imagenes/fondos/menu-backgroud.jpg";
//     public static final String PARTICLE_EFFECT = "particles/dust.pfx";
//     public static final String PARTICLE_EFFECT_CONTACT = "particles/contact.pfx";
//     public static final String MUSIC_MENU = "sounds/music/MonkeysSpinningMonkeys.mp3";
//     // Sonidos
//     public static final String HIT_SOUND = "sounds/sound/Hit_Hurt.ogg";
//     public static final String JUMP_SOUND = "sounds/sound/Jump.ogg";
//     public static final String PICKUP_COIN_SOUND = "sounds/sound/Pickup_Coin.ogg";
//     public static final String POWERUP_SOUND = "sounds/sound/Powerup.ogg";
// 
// 
//     public ResourcesManager() {
//         super();
//         loadSplash();
//         loadAssetsGame();
//         loadSounds();
//         this.finishLoading();
//         styles=new Styles(this);
//     }
// 
//     @Override
//     public void finishLoading () {
//         Gdx.app.log(Constants.LOG, "Finish Loading Assets: ");
//         super.finishLoading();
//     }
// 
//     @Override
//     public synchronized <T> void load (String fileName, Class<T> type) {
//         Gdx.app.log(Constants.LOG, "Load Asset: " + fileName+" Type: "+ type.getName());
//         load(fileName, type, null);
//     }
// 
//     private void loadAssetsGame() {
//         Gdx.app.log(Constants.LOG, "Load ResourcesManager Game");
//         this.load(DEFAULT_FONT, BitmapFont.class);
//         this.load(DEBUG_FONT, BitmapFont.class);
//         this.load(HEADER_FONT, BitmapFont.class);
//         this.load(DEBUG_BACKGROUND, Texture.class);
//         this.load(MENU_BACKGROUND, Texture.class);
//         this.load(STATS_BACKGROUND, Texture.class);
//         this.load(SPRITE_ATLAS, TextureAtlas.class);
//         this.load(VARIOS_ATLAS, TextureAtlas.class);
//         this.load(OBJECTS_ATLAS, TextureAtlas.class);
//         this.load(GUI_ATLAS, TextureAtlas.class);
//         this.load(GUI_PACK_ATLAS, TextureAtlas.class);
//         this.load(UISKIN_ATLAS, TextureAtlas.class);
//         this.load(PARTICLE_EFFECT, ParticleEffect.class);
//         this.load(PARTICLE_EFFECT_CONTACT, ParticleEffect.class);
//         this.setLoader(TiledMap.class, new TmxMapLoader(new InternalFileHandleResolver()));
//         this.load(MUSIC_MENU,Music.class);
// 
//     }
// 
//     public void loadSplash() {
//         this.load(SPLASH, Texture.class);
//     }
// 
//     public Music getMusic(String name) {
//         if (this.isLoaded(name,Music.class)) return this.get(name,Music.class);
//         this.load(name, Music.class);
//         this.finishLoading();
//         return this.get(name,Music.class);
//     }
// 
//     @Override
//     public void dispose() {
//         super.dispose();
//         styles.dispose();
//     }
// 
//     public void loadSounds() {
//         this.load(HIT_SOUND, Sound.class);
//         this.load(JUMP_SOUND, Sound.class);
//         this.load(PICKUP_COIN_SOUND, Sound.class);
//         this.load(POWERUP_SOUND, Sound.class);
//     }
// 
//     public Sound getSound(String sound) {
//         return this.get(sound, Sound.class);
//     }
// 
//     public Styles getStyles() {
//         return styles;
//     }
// }


// Path: core/src/main/java/com/rubentxu/juegos/core/utils/gui/mtx/ButtonLevel.java
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.rubentxu.juegos.core.managers.game.ResourcesManager;

package com.rubentxu.juegos.core.utils.gui.mtx;


public class ButtonLevel extends AbstractButton {
    // Level stars (Not mandatory)
    private TextureRegion textureStarHolder;
    private TextureRegion textureStar;
    private int numberOfTotalStars = 1;
    private int numberOfEarnedStars = 1;
    private float starSizeWidth;
    private float starSizeHeight;
    private float starPosXStart = 0;
    private float starPosYStart = 0;
    private float starSizeRatio = 5;

    // Level Number (Not mandatory)
    private int levelNumber = -999;