import { IApiGameStartReq, IApiGameStartRes, IApiPlayerJoinReq, IApiPlayerJoinRes, IApiPlayerListReq, IApiPlayerListRes, IApiRoomCreateReq, IApiRoomCreateRes, IApiRoomJoinReq, IApiRoomJoinRes, IApiRoomLeaveReq, IApiRoomLeaveRes, IApiRoomListReq, IApiRoomListRes } from './Api' import { ApiMsgEnum } from './Enum' import { IMsgGameStart, IMsgPlayerList, IMsgRoom, IMsgRoomList } from './Msg' import { IClientInput } from './State' export * from './Api' export * from './Msg' export * from './Enum' export * from './Model' export * from './State' export interface IModel { api: { [ApiMsgEnum.ApiPlayerJoin]: { req: IApiPlayerJoinReq, res: IApiPlayerJoinRes, } [ApiMsgEnum.ApiPlayerList]: { req: IApiPlayerListReq, res: IApiPlayerListRes, } [ApiMsgEnum.ApiRoomList]: { req: IApiRoomListReq, res: IApiRoomListRes, } [ApiMsgEnum.ApiRoomCreate]: { req: IApiRoomCreateReq, res: IApiRoomCreateRes, } [ApiMsgEnum.ApiRoomJoin]: { req: IApiRoomJoinReq, res: IApiRoomJoinRes, } [ApiMsgEnum.ApiRoomLeave]: { req: IApiRoomLeaveReq, res: IApiRoomLeaveRes, } [ApiMsgEnum.ApiGameStart]: { req: IApiGameStartReq, res: IApiGameStartRes, } }, msg: { [ApiMsgEnum.MsgPlayerList]: IMsgPlayerList [ApiMsgEnum.MsgRoomList]: IMsgRoomList, [ApiMsgEnum.MsgRoom]: IMsgRoom, [ApiMsgEnum.MsgGameStart]: IMsgGameStart, [ApiMsgEnum.MsgClientSync]: IClientInput, [ApiMsgEnum.MsgServerSync]: IMsgGameStart, } }