package server.token;
import java.util.List;
import java.util.Set;
import server.Player;
import server.RoomEntity;
class AccusativePart extends Part {
public AccusativePart(boolean capitalize, int idx) {
super(Type.ENTITY, idx, capitalize);
}
@Override
public ResolvedPart apply(Player observer, boolean somebodyIfUnknown, String[] strings, RoomEntity... entities) {
int idx = getIdx();
RoomEntity entity = idx == 0 ? observer : entities[idx - 1];
return new AccusativeResolvedPart(entity.getAccusativePronoun(observer));
}
private class AccusativeResolvedPart extends ResolvedPart {
private String text;
public AccusativeResolvedPart(String text) {
this.text = text;
}
@Override
public void add(ResolvedPart part) {
text = "them";
}
@Override
public String toString(Player observer, boolean somebodyIfUnknown, List<Set<String>> strings, List<Set<RoomEntity>> entities) {
return text;
}
}
}