package cz.jzitnik.game.sprites;

import cz.jzitnik.game.annotations.MineSound;
import cz.jzitnik.game.annotations.MiningSound;
import cz.jzitnik.game.annotations.PlaceSound;
import cz.jzitnik.game.annotations.WalkSound;
import cz.jzitnik.game.core.sound.SoundKey;
import cz.jzitnik.tui.Sprite;

import java.util.HashMap;

public class Wool extends Sprite<Wool.WoolState> {
    public enum WoolState {
        RED, ORANGE, YELLOW, LIME, GREEN, CYAN, LIGHT_BLUE, BLUE, PURPLE, MAGENTA, PINK, WHITE, LIGHT_GRAY, GRAY, BROWN, BLACK
    }

    public Wool() {
        loadResources(new HashMap<>() {
            {
                put(WoolState.RED, "red_wool.ans");
                put(WoolState.ORANGE, "orange_wool.ans");
                put(WoolState.YELLOW, "yellow_wool.ans");
                put(WoolState.LIME, "lime_wool.ans");
                put(WoolState.GREEN, "green_wool.ans");
                put(WoolState.CYAN, "cyan_wool.ans");
                put(WoolState.LIGHT_BLUE, "light_blue_wool.ans");
                put(WoolState.BLUE, "blue_wool.ans");
                put(WoolState.PURPLE, "purple_wool.ans");
                put(WoolState.MAGENTA, "magenta_wool.ans");
                put(WoolState.PINK, "pink_wool.ans");
                put(WoolState.WHITE, "white_wool.ans");
                put(WoolState.LIGHT_GRAY, "light_gray_wool.ans");
                put(WoolState.GRAY, "gray_wool.ans");
                put(WoolState.BROWN, "brown_wool.ans");
                put(WoolState.BLACK, "black_wool.ans");
            }
        }, WoolState.class);
    }

    public String getSprite() {
        return getResource(WoolState.WHITE);
    }

    public String getSprite(WoolState state) {
        return getResource(state);
    }
}
