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