private final StringBuilder content = new StringBuilder(250);
private final Map<String, Avatar> idAvatarMap = new HashMap<>();
+ private final List<Avatar> avatarList = new LinkedList<>();
private final List<Player> playerList = new LinkedList<>();
private final List<Nominated> nominatedList = new LinkedList<>();
private final List<InterPlay> interPlayList = new LinkedList<>();
private void resetBefore(){
this.idAvatarMap.clear();
this.content.setLength(0);
+ this.avatarList.clear();
this.playerList.clear();
this.nominatedList.clear();
this.interPlayList.clear();
private void resetAfter(){
this.idAvatarMap.clear();
this.content.setLength(0);
+ this.avatarList.clear();
this.playerList.clear();
this.nominatedList.clear();
this.interPlayList.clear();
}
/**
+ * murdered要素終了を受信する。
+ */
+ private void endMurdered(){
+ this.sysEvent.addAvatarList(this.avatarList);
+ this.avatarList.clear();
+ return;
+ }
+
+ /**
+ * survivor要素終了を受信する。
+ */
+ private void endSurvivor(){
+ this.sysEvent.addAvatarList(this.avatarList);
+ this.avatarList.clear();
+ return;
+ }
+
+ /**
* suddenDeath要素開始を受信する。
*
* @param atts 属性
case COUNTING2:
endCounting2();
break;
+ case MURDERED:
+ endMurdered();
+ break;
+ case SURVIVOR:
+ endSurvivor();
+ break;
default:
break;
}
}
/**
+ * avatarRef要素開始を受信する。
+ *
+ * @param atts 属性
+ */
+ private void startAvatarRef(Attributes atts){
+ String avatarId = attrValue(atts, "avatarId");
+ Avatar avatar = this.idAvatarMap.get(avatarId);
+ this.avatarList.add(avatar);
+ return;
+ }
+
+ /**
* {@inheritDoc}
*
* @param locator {@inheritDoc}
break;
case VOTE:
startVote(atts);
+ case AVATARREF:
+ startAvatarRef(atts);
+ break;
default:
break;
}