package space.animefu.starfallhaven;

/** Stable paths for the packaged PixelLab production art. */
public final class AssetCatalog {
    private AssetCatalog() {}
    public static final String ROOT = "art/pixellab/";
    public static final String MEADOW_SOIL = ROOT + "terrain/meadow_soil.png";
    public static final String SOIL_ROCK = ROOT + "terrain/soil_rock.png";
    public static final String CRYSTAL_TREE = ROOT + "objects/crystal_tree.png";
    public static final String ORE_BOULDER = ROOT + "objects/ore_boulder.png";
    public static final String CRASHED_POD = ROOT + "objects/crashed_pod.png";
    public static final String CAMPFIRE = ROOT + "objects/campfire.png";
    public static final String SHELTER = ROOT + "objects/shelter.png";
    public static final String WORKBENCH = ROOT + "objects/workbench.png";
    public static final String V03_ROOT = "art/local/v03/";
    public static final String REGION_MAP = V03_ROOT + "region_map.png";
    public static final String SETTLEMENT_FRIENDLY = V03_ROOT + "settlement_friendly.png";
    public static final String SETTLEMENT_NEUTRAL = V03_ROOT + "settlement_neutral.png";
    public static final String SETTLEMENT_HOSTILE = V03_ROOT + "settlement_hostile.png";
    public static final String TRADE_SKIFF = V03_ROOT + "trade_skiff.png";
    public static final String NURSERY_CRADLE = V03_ROOT + "nursery_cradle.png";
    public static final String GROW_BED = V03_ROOT + "grow_bed.png";
    public static final String DESIGNATION_MULTI = V03_ROOT + "designation_multi.png";

    public static String colonistFrame(String action, String direction, int frame) {
        int count = action.equals("idle") ? 4 : action.equals("walking") ? 8 : 9;
        String supportedDirection = (action.equals("using-tool") || action.equals("melee")) ? "south" : direction;
        return ROOT + "character/colonist/Idle/animations/" + action + "/" + supportedDirection
                + "/frame_" + String.format(java.util.Locale.US, "%03d", Math.floorMod(frame, count)) + ".png";
    }
}
