#ifndef ACTION_H #define ACTION_H #include class Action { public: //! Action types. enum Type { Pass, // discard Discard, // draw Riichi, // draw Chi, // discard Pon, // discard Kan, // draw, discard Ron, // discard Tsumo, // draw Draw // draw }; //! Type of action. Type type; //! Target of action (if applicable). int target; //! Second target of action (if applicable) int target2; //! Player doing this action int player; template void serialize(Archive & ar, const unsigned int version) { ar & type; ar & target; ar & target2; ar & player; } }; typedef std::vector Actions; #endif