119 lines
3.1 KiB
C++
119 lines
3.1 KiB
C++
#ifndef PRIVATE_TABLE_INFO_FILE
|
|
#define PRIVATE_TABLE_INFO_FILE
|
|
|
|
#pragma once
|
|
|
|
//引入文件
|
|
#include "CTableFramePrivate.h"
|
|
#include "PrivateServiceHead.h"
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
enum RoomType
|
|
{
|
|
Type_Private,
|
|
Type_Public,
|
|
};
|
|
|
|
enum emPlayCount
|
|
{
|
|
Jiang_1, //1将
|
|
Jiang_2 //2将
|
|
};
|
|
|
|
enum ePrivateTableCommonRule
|
|
{
|
|
ePrivateTableCommonRule_CardAA = 1, //房卡AA;
|
|
ePrivateTableCommonRule_auto = 1 << 29, //代开房;
|
|
ePrivateTableCommonRule_DaiKaiFang = 1 << 30, //代开房;
|
|
ePrivateTableCommonRule_NOSameIPAddr= 1 << 31, //不可以同IP地址;
|
|
};
|
|
|
|
enum ePrivateRoomScoreType
|
|
{
|
|
ePrivateRoomScoreType_Default = 1, //默认类型;
|
|
ePrivateRoomScoreType_SetOneTime = 1 << 1, //进入房间时设置一次;
|
|
ePrivateRoomScoreType_EveryTime = 1 << 2, //每局开始时都设置一次;
|
|
};
|
|
|
|
//定时赛
|
|
class PrivateTableInfo
|
|
{
|
|
public:
|
|
PrivateTableInfo();
|
|
~PrivateTableInfo();
|
|
|
|
void restValue();
|
|
void restAgainValue();
|
|
void newRandChild();
|
|
WORD getChairCout();
|
|
void setRoomNum(DWORD RoomNum);
|
|
void writeSocre(tagScoreInfo ScoreInfoArray[], WORD wScoreCount,DataStream& daUserDefine);
|
|
|
|
bool IsCardAARule();
|
|
bool IsAutoUserCountRule();
|
|
bool IsAllAutoUserOK();
|
|
|
|
bool IsEveryTimeRoomScoreType();
|
|
bool IsSetOneTimeRoomScoreType();
|
|
|
|
bool IsCanJoinTable(IServerUserItem * pIServerUserItem, CString& refStrMsg);
|
|
|
|
bool IsDismissRoom();
|
|
bool IsOffLineUser();
|
|
|
|
//获得开始模式;
|
|
BYTE GetStartMode();
|
|
|
|
ITableFrame* pITableFrame;
|
|
DWORD dwCreaterUserID; // 创建者
|
|
DWORD dwUnionCode; // 工会ID
|
|
DWORD dwUnionConsumerID; // 消耗记录ID
|
|
DWORD m_dwDaikaiIndex; // 代开ID;
|
|
|
|
DWORD dwRoomNum; // 房间ID
|
|
DWORD dwPlayCout; // 目标局数
|
|
DWORD dwPlayCost; // 消耗点数
|
|
|
|
BYTE cbUnionGoldOpen; // 是否是积分模式
|
|
SCORE lScoreMultiple; // 倍数
|
|
SCORE lGameGold; // 佣金
|
|
SCORE lCreateScore; // 创建者积分
|
|
|
|
bool bStart; // 是否开始
|
|
bool bInEnd; // 是否结束
|
|
float fAgainPastTime; // 房间结束和重新创建间隔时间
|
|
float fCreateTime; // 房间创建时间
|
|
float fOfflineTimes[MAX_CHAIR]; // 玩家断线时间;
|
|
bool bAutoStart[MAX_CHAIR]; // 自由场玩家是否可以开始;
|
|
|
|
std::string kHttpChannel;
|
|
|
|
BYTE cbRoomType; // 房间类型 私人场和普通场
|
|
|
|
DWORD dwStartPlayCout; // 实际打完数量
|
|
DWORD dwFinishPlayCout; // 统计打完数量(如:麻将中的连庄,实际局数中统计,完成局数中不统计)
|
|
|
|
BYTE bPlayCoutIdex; //玩家局数
|
|
BYTE bGameTypeIdex; //游戏类型
|
|
DWORD dwGameRuleIdex; //游戏规则(默认0x0001位置是房卡AA,如果不是,这个位置为0);
|
|
|
|
BYTE cbEnterRoomScoreType; //进房间时的分数类型;
|
|
SCORE lInitEnterRoomScore; //进入房间时的分数;
|
|
BYTE cbBaseScore; //底分;
|
|
|
|
SCORE lPlayerWinLose[MAX_CHAIR]; // 总积分
|
|
SCORE lScoreInfoArray[MAX_CHAIR]; // 欢乐积分
|
|
|
|
float fDismissPastTime;
|
|
//bool m_isDismiss; // 是否可以解散;
|
|
float fGameStartTime; // 游戏开始时间
|
|
|
|
std::vector<DWORD> kDismissChairID;
|
|
std::vector<DWORD> kNotAgreeChairID;
|
|
|
|
tagPrivateRandTotalRecord kTotalRecord;
|
|
CMD_GR_Private_ReadyInfo mReadyInfo; // 自由人数申请开始情况;
|
|
};
|
|
|
|
#endif |