RpyPlayer/src/com/annimon/everlastingsummer/Characters.java

69 lines
1.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.annimon.everlastingsummer;
import java.util.HashMap;
import java.util.Map;
/**
* Работа с персонажами.
* @author aNNiMON
*/
public class Characters {
private static final int DEFAULT_COLOR = 0xFFC0C0C0;
/** Маппинг <короткое имя, полное имя/цвет> */
protected final Map<String, NameInfo> names;
public Characters() {
this.names = new HashMap<String, NameInfo>();
makeNamesUnknown();
}
public boolean contains(String shortName) {
return names.containsKey(shortName);
}
public NameInfo get(String shortName) {
return names.get(shortName);
}
public void setName(String shortName, String fullName) {
if (names.containsKey(shortName)) {
NameInfo info = names.get(shortName);
info.name = fullName;
} else {
names.put(shortName, new NameInfo(fullName));
}
}
public void setName(String shortName, String fullName, int color) {
if (names.containsKey(shortName)) {
NameInfo info = names.get(shortName);
info.name = fullName;
info.color = color;
} else {
names.put(shortName, new NameInfo(fullName, color));
}
}
public void makeNamesUnknown() {
names.clear();
}
public void makeNamesKnown() {
}
public static class NameInfo {
String name;
int color;
protected NameInfo(String fullName) {
this.name = fullName;
this.color = DEFAULT_COLOR;
}
protected NameInfo(String fullName, int color) {
this.name = fullName;
this.color = color;
}
}
}