OSDN Git Service

Complexity解決
authorOlyutorskii <olyutorskii@users.osdn.me>
Wed, 27 Apr 2011 11:12:14 +0000 (20:12 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Wed, 27 Apr 2011 11:12:14 +0000 (20:12 +0900)
src/main/java/jp/sourceforge/jindolf/corelib/SysEventType.java

index f7e021a..666b811 100644 (file)
@@ -13,111 +13,86 @@ package jp.sourceforge.jindolf.corelib;
 public enum SysEventType{\r
 \r
     /** エントリースタート。 */\r
-    STARTENTRY,\r
+    STARTENTRY(EventFamily.ANNOUNCE),\r
     /** キャラ初登場。 */\r
-    ONSTAGE,\r
+    ONSTAGE(EventFamily.ANNOUNCE),\r
     /** 役職確定。 */\r
-    STARTMIRROR,\r
+    STARTMIRROR(EventFamily.ANNOUNCE),\r
     /** 役職人数内訳発表。 */\r
-    OPENROLE,\r
+    OPENROLE(EventFamily.ANNOUNCE),\r
     /** 襲撃成功。 */\r
-    MURDERED,\r
+    MURDERED(EventFamily.ANNOUNCE),\r
     /** 襲撃開始。 */\r
-    STARTASSAULT,\r
+    STARTASSAULT(EventFamily.ANNOUNCE),\r
     /** 生存者確認。 */\r
-    SURVIVOR,\r
+    SURVIVOR(EventFamily.ANNOUNCE),\r
     /** 投票結果。 */\r
-    COUNTING,\r
+    COUNTING(EventFamily.ANNOUNCE),\r
     /** 突然死。 */\r
-    SUDDENDEATH,\r
+    SUDDENDEATH(EventFamily.ANNOUNCE),\r
     /** 襲撃失敗。 */\r
-    NOMURDER,\r
+    NOMURDER(EventFamily.ANNOUNCE),\r
     /** 村側勝利。 */\r
-    WINVILLAGE,\r
+    WINVILLAGE(EventFamily.ANNOUNCE),\r
     /** 狼側勝利。 */\r
-    WINWOLF,\r
+    WINWOLF(EventFamily.ANNOUNCE),\r
     /** ハムスター勝利。 */\r
-    WINHAMSTER,\r
+    WINHAMSTER(EventFamily.ANNOUNCE),\r
     /** 役職&ログイン名公開。 */\r
-    PLAYERLIST,\r
+    PLAYERLIST(EventFamily.ANNOUNCE),\r
     /** 何らかのシステムトラブル。A国末期で頻発。 */\r
-    PANIC,\r
+    PANIC(EventFamily.ANNOUNCE),\r
     /** 参加者募集。 */\r
-    ASKENTRY,\r
+    ASKENTRY(EventFamily.ORDER),\r
     /** 行動確定要求。 */\r
-    ASKCOMMIT,\r
+    ASKCOMMIT(EventFamily.ORDER),\r
     /** 未発言者一覧。 */\r
-    NOCOMMENT,\r
+    NOCOMMENT(EventFamily.ORDER),\r
     /** エピローグ案内。 */\r
-    STAYEPILOGUE,\r
+    STAYEPILOGUE(EventFamily.ORDER),\r
     /** 村終了。 */\r
-    GAMEOVER,\r
+    GAMEOVER(EventFamily.ORDER),\r
     /** 占い先表示。 */\r
-    JUDGE,\r
+    JUDGE(EventFamily.EXTRA),\r
     /** 護衛先表示。 */\r
-    GUARD,\r
+    GUARD(EventFamily.EXTRA),\r
     /** 襲撃。 */\r
-    ASSAULT,\r
+    ASSAULT(null),\r
     /** 処刑結果表示。 */\r
-    EXECUTION,\r
+    EXECUTION(EventFamily.ANNOUNCE),\r
     /** 投票結果表示(G国版)。 */\r
-    COUNTING2,\r
+    COUNTING2(EventFamily.EXTRA),\r
     /** 失踪。 */\r
-    VANISH,\r
+    VANISH(EventFamily.ANNOUNCE),\r
     /** チェックアウト。 */\r
-    CHECKOUT,\r
+    CHECKOUT(EventFamily.ANNOUNCE),\r
     /** 定員不足。 */\r
-    SHORTMEMBER,\r
+    SHORTMEMBER(EventFamily.ANNOUNCE),\r
     /** 未定義。 */\r
-    UNKNOWN,\r
+    UNKNOWN(null),\r
     ;\r
 \r
+\r
+    private final EventFamily family;\r
+\r
+\r
+    /**\r
+     * コンストラクタ。\r
+     * @param family イベントファミリ\r
+     */\r
+    private SysEventType(EventFamily family){\r
+        this.family = family;\r
+        return;\r
+    }\r
+\r
+\r
     /**\r
      * イベントファミリを得る。\r
      * ASSAULTとUNKNOWNに関してはnullを返す。\r
      * @return イベントファミリ\r
      */\r
     public EventFamily getEventFamily(){\r
-        switch(this){\r
-        case STARTENTRY:\r
-        case ONSTAGE:\r
-        case STARTMIRROR:\r
-        case OPENROLE:\r
-        case MURDERED:\r
-        case STARTASSAULT:\r
-        case SURVIVOR:\r
-        case COUNTING:\r
-        case SUDDENDEATH:\r
-        case NOMURDER:\r
-        case WINVILLAGE:\r
-        case WINWOLF:\r
-        case WINHAMSTER:\r
-        case PLAYERLIST:\r
-        case PANIC:\r
-        case EXECUTION:\r
-        case VANISH:\r
-        case CHECKOUT:\r
-        case SHORTMEMBER:\r
-            return EventFamily.ANNOUNCE;\r
-        case ASKENTRY:\r
-        case ASKCOMMIT:\r
-        case NOCOMMENT:\r
-        case STAYEPILOGUE:\r
-        case GAMEOVER:\r
-            return EventFamily.ORDER;\r
-        case JUDGE:\r
-        case GUARD:\r
-        case COUNTING2:\r
-            return EventFamily.EXTRA;\r
-        case ASSAULT:\r
-        case UNKNOWN:\r
-            return null;\r
-        default:\r
-            assert false;\r
-            break;\r
-        }\r
-\r
-        return null;\r
+        return this.family;\r
     }\r
 \r
 }\r