1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
typedef union _CMsgUnion {
/* Note that this type field relies on the fact that all
messages have type as their first field */
ControllerMsgType type;
CMsgErrorMsg error;
CMsgInfoTilesMsg infotiles;
CMsgStateSavedMsg statesaved;
CMsgConnectReplyMsg connectreply;
CMsgPlayerMsg player;
CMsgNewRoundMsg newround;
CMsgGameMsg game;
CMsgNewHandMsg newhand;
CMsgPlayerDeclaresSpecialMsg playerdeclaresspecial;
CMsgStartPlayMsg startplay;
CMsgStopPlayMsg stopplay;
CMsgPauseMsg pause;
CMsgPlayerReadyMsg playerready;
CMsgPlayerDrawsMsg playerdraws;
CMsgPlayerDrawsLooseMsg playerdrawsloose;
CMsgPlayerDiscardsMsg playerdiscards;
CMsgClaimDeniedMsg claimdenied;
CMsgPlayerDoesntClaimMsg playerdoesntclaim;
CMsgDangerousDiscardMsg dangerousdiscard;
CMsgPlayerClaimsPungMsg playerclaimspung;
CMsgPlayerPungsMsg playerpungs;
CMsgPlayerFormsClosedPungMsg playerformsclosedpung;
CMsgPlayerClaimsKongMsg playerclaimskong;
CMsgPlayerKongsMsg playerkongs;
CMsgPlayerDeclaresClosedKongMsg playerdeclaresclosedkong;
CMsgPlayerAddsToPungMsg playeraddstopung;
CMsgPlayerRobsKongMsg playerrobskong;
CMsgCanMahJongMsg canmahjong;
CMsgPlayerClaimsChowMsg playerclaimschow;
CMsgPlayerChowsMsg playerchows;
CMsgPlayerFormsClosedChowMsg playerformsclosedchow;
CMsgWashOutMsg washout;
CMsgPlayerClaimsMahJongMsg playerclaimsmahjong;
CMsgPlayerMahJongsMsg playermahjongs;
CMsgPlayerPairsMsg playerpairs;
CMsgPlayerFormsClosedPairMsg playerformsclosedpair;
CMsgPlayerShowsTilesMsg playershowstiles;
CMsgPlayerSpecialSetMsg playerspecialset;
CMsgPlayerFormsClosedSpecialSetMsg playerformsclosedspecialset;
CMsgPlayerOptionSetMsg playeroptionset;
CMsgHandScoreMsg handscore;
CMsgSettlementMsg settlement;
CMsgGameOverMsg gameover;
CMsgGameOptionMsg gameoption;
CMsgChangeManagerMsg changemanager;
CMsgMessageMsg message;
CMsgWallMsg wall;
CMsgCommentMsg comment;
CMsgSwapTileMsg swaptile;
} CMsgUnion;
|