OSDN Git Service

G国新メッセージに対応
[jindolf/JinArchiver.git] / src / main / java / jp / sourceforge / jindolf / archiver / EventData.java
index 3fd9b44..7c8f81f 100644 (file)
@@ -43,6 +43,10 @@ public class EventData extends TopicData{
         case WINHAMSTER:   tagName = "winHamster";   break;\r
         case PLAYERLIST:   tagName = "playerList";   break;\r
         case PANIC:        tagName = "panic";        break;\r
+        case EXECUTION:    tagName = "execution";    break;\r
+        case VANISH:       tagName = "vanish";       break;\r
+        case CHECKOUT:     tagName = "checkout";     break;\r
+        case SHORTMEMBER:  tagName = "shortMember";  break;\r
         case ASKENTRY:     tagName = "askEntry";     break;\r
         case ASKCOMMIT:    tagName = "askCommit";    break;\r
         case NOCOMMENT:    tagName = "noComment";    break;\r
@@ -50,6 +54,7 @@ public class EventData extends TopicData{
         case GAMEOVER:     tagName = "gameOver";     break;\r
         case GUARD:        tagName = "guard";        break;\r
         case JUDGE:        tagName = "judge";        break;\r
+        case COUNTING2:    tagName = "counting2";    break;\r
         case ASSAULT:      tagName = "assault";      break;\r
         default: throw new IllegalArgumentException();\r
         }\r
@@ -185,7 +190,21 @@ public class EventData extends TopicData{
     }\r
 \r
     /**\r
-     * COUNTING属性値をXML出力する。\r
+     * avatarId属性値をXML出力する。\r
+     * @param writer 出力先\r
+     * @throws IOException 出力エラー\r
+     */\r
+    public void dumpSingleAvatarAttr(Writer writer) throws IOException{\r
+        AvatarData avatarData = this.avatarList.get(0);\r
+\r
+        writer.append(' ');\r
+        XmlUtils.attrOut(writer, "avatarId", avatarData.getAvatarId());\r
+\r
+        return;\r
+    }\r
+\r
+    /**\r
+     * COUNTINGのvictim属性値をXML出力する。\r
      * @param writer 出力先\r
      * @throws IOException 出力エラー\r
      */\r
@@ -200,16 +219,18 @@ public class EventData extends TopicData{
     }\r
 \r
     /**\r
-     * SUDDENDEATH属性値をXML出力する。\r
+     * EXECUTIONのvictim属性値をXML出力する。\r
      * @param writer 出力先\r
      * @throws IOException 出力エラー\r
      */\r
-    public void dumpSuddendeathAttr(Writer writer) throws IOException{\r
-        AvatarData avatarData = this.avatarList.get(0);\r
-\r
-        writer.append(' ');\r
-        XmlUtils.attrOut(writer, "avatarId", avatarData.getAvatarId());\r
-\r
+    public void dumpExecutionAttr(Writer writer) throws IOException{\r
+        int totalAvatar = this.avatarList.size();\r
+        int totalVotes = this.intList.size();\r
+        if(totalAvatar != totalVotes){\r
+            AvatarData victim = this.avatarList.get(totalAvatar - 1);\r
+            writer.append(' ');\r
+            XmlUtils.attrOut(writer, "victim", victim.getAvatarId());\r
+        }\r
         return;\r
     }\r
 \r
@@ -360,6 +381,26 @@ public class EventData extends TopicData{
     }\r
 \r
     /**\r
+     * execution子要素をXML出力する。\r
+     * @param writer 出力先\r
+     * @throws IOException 出力エラー\r
+     */\r
+    public void dumpExecutionElem(Writer writer) throws IOException{\r
+        int total = this.intList.size();\r
+        for(int index = 0; index < total; index++){\r
+            AvatarData voteTo = this.avatarList.get(index);\r
+            int count = this.intList.get(index);\r
+            writer.append("<nominated");\r
+            writer.append(' ');\r
+            XmlUtils.attrOut(writer, "avatarId", voteTo.getAvatarId());\r
+            writer.append(' ');\r
+            XmlUtils.attrOut(writer, "count", "" + count);\r
+            writer.append(" />\n");\r
+        }\r
+        return;\r
+    }\r
+\r
+    /**\r
      * playerlist子要素をXML出力する。\r
      * @param writer 出力先\r
      * @throws IOException 出力エラー\r
@@ -476,8 +517,13 @@ public class EventData extends TopicData{
         case COUNTING:\r
             dumpCountingAttr(writer);\r
             break;\r
+        case EXECUTION:\r
+            dumpExecutionAttr(writer);\r
+            break;\r
         case SUDDENDEATH:\r
-            dumpSuddendeathAttr(writer);\r
+        case VANISH:\r
+        case CHECKOUT:\r
+            dumpSingleAvatarAttr(writer);\r
             break;\r
         case ASKENTRY:\r
             dumpAskEntryAttr(writer);\r
@@ -516,8 +562,12 @@ public class EventData extends TopicData{
             dumpSurvivorElem(writer);\r
             break;\r
         case COUNTING:\r
+        case COUNTING2:\r
             dumpCountingElem(writer);\r
             break;\r
+        case EXECUTION:\r
+            dumpExecutionElem(writer);\r
+            break;\r
         case PLAYERLIST:\r
             dumpPlayerlistElem(writer);\r
             break;\r