package com.gpl.rpg.atcontentstudio.model.tools.resoptimizer; import java.util.LinkedHashMap; import java.util.Map; public class SpritesheetId { static Map instancesCache = new LinkedHashMap(); String tileset; int offset; static SpritesheetId getInstance(String id) { String[] values = id.split(":"); return getInstance(values[0], Integer.parseInt(values[1])); } static SpritesheetId getInstance(String tilesetId, int offset) { if (!instancesCache.containsKey(toStringID(tilesetId, offset))) { SpritesheetId instance = new SpritesheetId(tilesetId, offset); instancesCache.put(instance.toStringID(), instance); } return instancesCache.get(toStringID(tilesetId, offset)); } private SpritesheetId(String tileset, int offset) { this.tileset = tileset; this.offset = offset; } public String toStringID() { return toStringID(tileset, offset); } static String toStringID(String tileset, int offset) { return tileset+":"+Integer.toString(offset); } }