*/
public class ToonMap {
+ /** カスタムトゥーンファイルの総数。 */
public static final int MAX_CUSTOM_TOON = 10;
+
private static final Map<Integer, String> DEF_TOONMAP;
+ private static final int IDX_SP = 0xff; // 特殊トゥーンのインデックス
+
static{
Map<Integer, String> map = new TreeMap<Integer, String>();
- map.put(0x00, "toon01.bmp");
- map.put(0x01, "toon02.bmp");
- map.put(0x02, "toon03.bmp");
- map.put(0x03, "toon04.bmp");
- map.put(0x04, "toon05.bmp");
- map.put(0x05, "toon06.bmp");
- map.put(0x06, "toon07.bmp");
- map.put(0x07, "toon08.bmp");
- map.put(0x08, "toon09.bmp");
- map.put(0x09, "toon10.bmp");
- map.put(0xff, "toon0.bmp");
+ int idx = 0x00;
+ map.put(idx++, "toon01.bmp");
+ map.put(idx++, "toon02.bmp");
+ map.put(idx++, "toon03.bmp");
+ map.put(idx++, "toon04.bmp");
+ map.put(idx++, "toon05.bmp");
+ map.put(idx++, "toon06.bmp");
+ map.put(idx++, "toon07.bmp");
+ map.put(idx++, "toon08.bmp");
+ map.put(idx++, "toon09.bmp");
+ map.put(idx++, "toon10.bmp");
+ map.put(IDX_SP, "toon0.bmp");
+
+ assert idx == MAX_CUSTOM_TOON;
DEF_TOONMAP = Collections.unmodifiableMap(map);
assert DEF_TOONMAP.size() == MAX_CUSTOM_TOON + 1;
}
- private final Map<Integer, String> toonMap =
+
+ private final Map<Integer, String> toonDefMap =
new TreeMap<Integer, String>(DEF_TOONMAP);
+
/**
* コンストラクタ。
*/
return;
}
+
/**
* 指定したインデックス値に対応したトゥーンファイル名を返す。
* @param idx インデックス値
* @return トゥーンファイル名。該当するものがなければnull
*/
public String getIndexedToon(int idx){
- String result = this.toonMap.get(idx);
+ String result = this.toonDefMap.get(idx);
return result;
}
public void setIndexedToon(int idx, String toonFileName)
throws NullPointerException{
if(toonFileName == null) throw new NullPointerException();
- this.toonMap.put(idx, toonFileName);
+ this.toonDefMap.put(idx, toonFileName);
return;
}
* @return 等しければtrue
*/
public boolean isDefaultMap(){
- boolean result = this.toonMap.equals(DEF_TOONMAP);
+ boolean result = this.toonDefMap.equals(DEF_TOONMAP);
return result;
}
* @return デフォルトと等しければtrue。
*/
public boolean isDefaultToon(int idx){
- String thisToon = this.toonMap.get(idx);
+ String thisToon = this.toonDefMap.get(idx);
if(thisToon == null) return false;
String defToon = DEF_TOONMAP.get(idx);
* このトゥーンファイル構成をデフォルト構成内容でリセットする。
*/
public void resetDefaultMap(){
- this.toonMap.clear();
- this.toonMap.putAll(DEF_TOONMAP);
+ this.toonDefMap.clear();
+ this.toonDefMap.putAll(DEF_TOONMAP);
return;
}
*/
public void resetIndexedToon(int idx){
String toonFile = DEF_TOONMAP.get(idx);
- this.toonMap.put(idx, toonFile);
+ this.toonDefMap.put(idx, toonFile);
return;
}
StringBuilder result = new StringBuilder();
boolean dumped = false;
- for(Map.Entry<Integer, String> entry : this.toonMap.entrySet()){
+ for(Map.Entry<Integer, String> entry : this.toonDefMap.entrySet()){
Integer idx = entry.getKey();
String toonFile = entry.getValue();