2026-02-13 14:34:15 +08:00
|
|
|
|
#ifndef _NCMJ_CGameScene_h_
|
|
|
|
|
|
#define _NCMJ_CGameScene_h_
|
|
|
|
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
|
|
|
|
#include "cocos2d.h"
|
|
|
|
|
|
#include "ui/CocosGUI.h"
|
|
|
|
|
|
|
|
|
|
|
|
#include "GameFrameBase.h"
|
|
|
|
|
|
#include "Singleton.h"
|
|
|
|
|
|
#include "TimeNode.h"
|
|
|
|
|
|
|
|
|
|
|
|
#include "GameDefine.h"
|
|
|
|
|
|
#include "WN_CMD_Sparrow.h"
|
|
|
|
|
|
#include "WN_GamePlayer.h"
|
|
|
|
|
|
#include "WN_GameLogic.h"
|
|
|
|
|
|
#include "WN_GameOver.h"
|
|
|
|
|
|
#include "WN_CardManager.h"
|
|
|
|
|
|
#include "WN_PrivateScene.h"
|
|
|
|
|
|
//#include "WN_CreateScene.h"
|
|
|
|
|
|
#include "WN_GetCardCtrl.h"
|
|
|
|
|
|
|
|
|
|
|
|
USING_NS_CC;
|
|
|
|
|
|
using namespace cocos2d::ui;
|
|
|
|
|
|
|
|
|
|
|
|
namespace WNMJ_SPACE{
|
|
|
|
|
|
|
|
|
|
|
|
class WN_GameScene : public GameFrameBase
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
WN_GameScene();
|
|
|
|
|
|
virtual ~WN_GameScene();
|
|
|
|
|
|
|
|
|
|
|
|
static std::string getGameRule(uint32 dwGameRule);
|
|
|
|
|
|
static int GetRealChairCount(uint32 dwGameRule);
|
|
|
|
|
|
//
|
|
|
|
|
|
public:
|
|
|
|
|
|
CREATE_FUNC(WN_GameScene);
|
|
|
|
|
|
virtual bool init(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
|
|
|
|
virtual bool InitGameEvent(); // <20>¼<EFBFBD>ע<EFBFBD><D7A2>
|
|
|
|
|
|
virtual void onEnterTransitionDidFinish(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻص<C9BB>
|
|
|
|
|
|
virtual void onExit(); // <20><><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3>ص<EFBFBD>
|
|
|
|
|
|
virtual void ResetTable(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void ResetScene(); // <20><><EFBFBD>ó<EFBFBD><C3B3><EFBFBD>
|
|
|
|
|
|
virtual void upSelfPlayerInfo(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
virtual WORD SwitchViewChairID(WORD wChairID); // <20><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>ͼת<CDBC><D7AA>
|
|
|
|
|
|
virtual uint16 GetRealChairCount();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ʼ<EFBFBD><CABC>
|
|
|
|
|
|
private:
|
|
|
|
|
|
void uiLayerinit(); // UI<55><49>ʼ<EFBFBD><CABC>
|
|
|
|
|
|
void loadingRes(); // <20><><EFBFBD><EFBFBD><EFBFBD>齫<EFBFBD><E9BDAB>Դ
|
|
|
|
|
|
void SetCurrentUser(WORD wCurrentUser); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|
|
|
|
|
void ResetAllData(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
private:
|
|
|
|
|
|
void OnEventGameClock(float dt); // <20><>Ϸ<EFBFBD><CFB7>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
void SetGameClock(WORD wChairID, DWORD dwTimerID, DWORD dwElapse); // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>(<28><>)
|
|
|
|
|
|
void KillGameClock(); // ɾ<><C9BE>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
void UpdateSystmeTime(float dt); // <20><><EFBFBD><EFBFBD>ϵͳʱ<CDB3><CAB1>;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
private:
|
|
|
|
|
|
virtual bool OnEventSceneMessage(uint8 cbGameStatus, bool bLookonUser, void* data, int dataSize);
|
|
|
|
|
|
void onGameScenePlay(CMD_S_StatusPlay* pStatusPlay); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ
|
|
|
|
|
|
void onGameSceneFree(CMD_S_StatusFree* pStatusFree); // <20><><EFBFBD>г<EFBFBD><D0B3><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>Ϸ<EFBFBD><CFB7>Ϣ
|
|
|
|
|
|
private:
|
|
|
|
|
|
void OnSubGameStart(const void *pBuffer, WORD wDataSize); // <20><>Ϸ<EFBFBD><CFB7>ʼ
|
|
|
|
|
|
void OnSubRecordGameStart(const void *pBuffer, WORD wDataSize);
|
|
|
|
|
|
void OnSubSendCard(const void *pBuffer, WORD wDataSize); // <20><><EFBFBD><EFBFBD>ʮ<EFBFBD><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void OnSubOperateNotify(const void *pBuffer, WORD wDataSize); // <20><>ʾ<EFBFBD><CABE>Ϣ
|
|
|
|
|
|
void OnSubOutCard(const void *pBuffer, WORD wDataSize); // <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void OnSubOperateResult(const void *pBuffer, WORD wDataSize); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void OnSubUserTrust(const void *pBuffer, WORD wDataSize); // <20>û<EFBFBD><C3BB>й<EFBFBD>
|
|
|
|
|
|
void OnSubGameEnd(const void *pBuffer, WORD wDataSize); // <20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|
|
|
|
|
void OnSubKickOut(const void *pBuffer, WORD wDataSize); // <20>߳<EFBFBD><DFB3><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
|
void OnSubGetLeftCard(const void *pBuffer, WORD wDataSize); // <20><>ȡ<EFBFBD>Ŷ<EFBFBD>;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>Ϣ<EFBFBD><CFA2><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
void SendFrameData(WORD wSubCmdID, void* buffer, WORD wSize); // <20><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
void SendGameData(WORD wSubCmdID, void* buffer, WORD wSize); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7>Ϣ
|
|
|
|
|
|
void SendUserData(WORD wSubCmdID, void* buffer, WORD wSize); // <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ť<EFBFBD>ص<EFBFBD><D8B5>¼<EFBFBD>
|
|
|
|
|
|
private:
|
|
|
|
|
|
void onLeaveClickEvent(cocos2d::Ref *pSender); // <20>뿪<EFBFBD><EBBFAA>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|
|
|
|
|
void onStartClickEvent(cocos2d::Ref *pSender); // <20><>ʼ<EFBFBD><CABC>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|
|
|
|
|
void onKeyReleased(EventKeyboard::KeyCode keyCode, Event * pEvent); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>Ϸ<EFBFBD><CFB7><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
void onGameStartInitUI(bool IsMove = true); // <20><>Ϸ<EFBFBD><CFB7>ʼ<EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>;
|
|
|
|
|
|
void onShowDice(); // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
bool IsHaveOperateCard(WORD dwUserAction); // <20>Ƿ<EFBFBD><C7B7>и<D0B8><DFBC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void SetTimerByEast(WORD wEastUser); // <20><><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>TAG
|
|
|
|
|
|
void SetSurplusCardCount(BYTE cbUseingCount); // <20><><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void onEventShowPrivate(cocos2d::EventCustom *event); // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|
|
|
|
|
private:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD> <20><>Ϸ<EFBFBD>н<EFBFBD><D0BD>㶯<EFBFBD><E3B6AF>
|
|
|
|
|
|
void SetPayAniShowMode(ANI_TYPE aType, Point pos, const std::function<void()>& callback);
|
|
|
|
|
|
void doHuAnimation(float fEndX, float fEndY, const std::function<void()>& fnCallback);
|
|
|
|
|
|
void doHuangAnimation(float fEndX, float fEndY, const std::function<void()>& fnCallback);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual void OnEventUserEnter(GamePlayer * pPlayer); //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void OnEventUserStatus(GamePlayer * pPlayer); //<2F>û<EFBFBD>״̬
|
|
|
|
|
|
virtual void OnEventUserLeave(GamePlayer * pPlayer); //<2F>û<EFBFBD><C3BB>뿪;
|
|
|
|
|
|
virtual void OnUserScore(GamePlayer* pPlayer); // <20><><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>
|
|
|
|
|
|
virtual Vec2 GetPlayerPosByUserID(uint32 dwUserID); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
|
|
GamePlayer* CreatePlayer(IClientUserItem * pIClientUserItem);
|
|
|
|
|
|
|
|
|
|
|
|
string getGoldStr(string _str, char insertChar); // <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>
|
|
|
|
|
|
//void ShowPlayer(WORD wChairID, GamePlayer* pPlayer); // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
//void ShowKingAndUpDownCard(BYTE cbKingCard[2]); // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
void PlayBackMusic(BYTE cbType, bool ispool); // <20><><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void playGameEffect(BYTE cbType); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7>Ч
|
|
|
|
|
|
void playGameEffect(BYTE cbSoundType, WORD wChairID, BYTE cbOutCard = 0);// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7>Ч
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ť<EFBFBD>¼<EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
// <20><>ס<EFBFBD><D7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť
|
|
|
|
|
|
void OnButtonVoiceTouched(Ref*, Widget::TouchEventType);
|
|
|
|
|
|
|
|
|
|
|
|
//˽<>˳<EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual void OnSocketSubPrivateRoomInfo(CMD_GF_Private_Room_Info* pNetInfo);
|
|
|
|
|
|
virtual void OnSocketSubPrivateEnd(void* data, int dataSize);
|
|
|
|
|
|
virtual void OnSocketSubPrivateDismissInfo(CMD_GF_Private_Dismiss_Info* pNetInfo);
|
|
|
|
|
|
virtual void OnSocketSubPrivateDismissResult(CMD_GF_Private_Dismiss_Result* pNetInfo);
|
|
|
|
|
|
virtual void OnSocketSubPrivateAutoUserStatus(tagAutoUserStatus* pNetInfo);
|
|
|
|
|
|
virtual void OnSocketSubPrivateAutoUserReady(CMD_GR_Private_ReadyInfo* pNetInfo);
|
|
|
|
|
|
|
|
|
|
|
|
void ShowGameRule(CMD_GF_Private_Room_Info* pNetInfo); // <20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|
|
|
|
|
void ShowRoomID(Ref *pSender); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|
|
|
|
|
void SetChairs();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>
|
|
|
|
|
|
public:
|
|
|
|
|
|
void onPlayerGetCard();
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ص<EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
void onEventOutCard(EventCustom* event); //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
void onEventOperCard(EventCustom* event); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void onEventGetCard(EventCustom* event); //Ҫ<><D2AA><EFBFBD>¼<EFBFBD>;
|
|
|
|
|
|
|
|
|
|
|
|
//¼<><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual void StartGameRecord();
|
|
|
|
|
|
virtual void NextRecordAction(float dt);
|
|
|
|
|
|
|
|
|
|
|
|
// <20>ؼ<EFBFBD><D8BC><EFBFBD>Ϣ
|
|
|
|
|
|
public:
|
|
|
|
|
|
WN_CardManager* m_pCardManager; // <20>齫<EFBFBD><E9BDAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Layout* m_pRootLayout; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Layout* m_PanelCard; // <20>齫<EFBFBD>ڵ<EFBFBD>;
|
|
|
|
|
|
WN_GameOver* m_pResultLayer; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
WN_PrivateScene* m_pPrivateScene; // ˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
GetCardCtrl* m_pGetCardLayer; // Ҫ<><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|
|
|
|
|
//Sprite* m_SpritePlayers[GAME_PLAYER]; // <20><><EFBFBD>ҿؼ<D2BF>
|
|
|
|
|
|
//Button* m_btnPlayer[GAME_PLAYER]; // <20><><EFBFBD><EFBFBD><EFBFBD>c<EFBFBD><63><EFBFBD>¼<EFBFBD>
|
|
|
|
|
|
//Sprite* m_SpriteReadys[GAME_PLAYER]; // <><D7BC><EFBFBD>ؼ<EFBFBD>
|
|
|
|
|
|
//Sprite* m_SpriteOffLine[GAME_PLAYER]; // <20><><EFBFBD>߿ؼ<DFBF>
|
|
|
|
|
|
|
|
|
|
|
|
Sprite* m_SpriteTimeBg; // ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Sprite* m_SpriteTimer; // ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
LabelAtlas* m_LableTime; // ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Text* m_ptxtCardNum; // ʣ<><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Text* m_txtGameRule; // <20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|
|
|
|
|
Text* m_txtGameRuleScore; // <20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|
|
|
|
|
Text* m_txtGangRule; // <20>ܹ<EFBFBD><DCB9><EFBFBD>;
|
|
|
|
|
|
Text* m_txtCurrentTime; // <20><>ǰʱ<C7B0><CAB1>;
|
|
|
|
|
|
|
|
|
|
|
|
ImageView* m_ImageMenu; // <20>˵<EFBFBD>;
|
|
|
|
|
|
Button* m_BtnMenu; // <20>˵<EFBFBD><CBB5><EFBFBD>ť;
|
|
|
|
|
|
Button* m_pBtnLeave; // <20>뿪<EFBFBD><EBBFAA>ť
|
|
|
|
|
|
Button* m_pBtnReady; // <><D7BC><EFBFBD><EFBFBD>ť;
|
|
|
|
|
|
Button* m_btnDismiss; // <20><>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD>
|
|
|
|
|
|
Button* m_btnWeiXin; // <>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD>ť
|
|
|
|
|
|
Button* m_pBtnStartGame; // <20><><EFBFBD>Կ<EFBFBD>ʼ<EFBFBD><CABC>Ϸ<EFBFBD><CFB7>ť;
|
|
|
|
|
|
|
|
|
|
|
|
Node* m_pVoiceNode; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|
|
|
|
|
Text* m_txtRoomID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Text* m_txtGameTimes; // <20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
WNGamePlayer* m_aryPlayer[GAME_PLAYER]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|
|
|
|
|
bool m_bActiveStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD>״̬;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
private:
|
2026-03-01 13:48:24 +08:00
|
|
|
|
int m_lBaseScore; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2026-02-13 14:34:15 +08:00
|
|
|
|
BYTE m_cbGameStatus; // <20><>Ϸ״̬
|
|
|
|
|
|
BYTE m_cbSurplusCard; // ʣ<><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
BYTE m_cbHuaAniCout; // <20><><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
Point m_ptStartCard[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Point m_ptOutCard[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>һ<EFBFBD>ų<EFBFBD><C5B3><EFBFBD>
|
|
|
|
|
|
Point m_ptCurrentCard[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|
|
|
|
|
Point m_ptWeaveCard[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Point m_ptPlayerEnd[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>(<28><>¼<EFBFBD><C2BC><EFBFBD>û<EFBFBD>ȫ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD>)
|
|
|
|
|
|
protected:
|
|
|
|
|
|
WORD m_wBankerUser; // ׯ<><D7AF><EFBFBD>û<EFBFBD>
|
|
|
|
|
|
WORD m_wCurrentUser; // <20><>ǰ<EFBFBD>û<EFBFBD>
|
|
|
|
|
|
WORD m_wEastUser; // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|
|
|
|
|
WORD m_wUserPosition[GAME_PLAYER]; // <20><>λ<EFBFBD><CEBB>ת<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
public:
|
|
|
|
|
|
BYTE m_cbSelfHandCardData[MAX_COUNT]; // <20>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
public:
|
|
|
|
|
|
DWORD m_dwTimerID; // <20><>ʱ<EFBFBD><CAB1>ID
|
|
|
|
|
|
int m_nSecondCount; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|
|
|
|
|
WORD m_wTimeChairID; // <20><><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int m_nVoiceTimeID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ID
|
|
|
|
|
|
|
|
|
|
|
|
// //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
//public:
|
|
|
|
|
|
// BYTE m_cbSoundType; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
// //BYTE m_cbBackMusicType; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//˽<>˳<EFBFBD><CBB3><EFBFBD>Ϣ
|
|
|
|
|
|
public:
|
|
|
|
|
|
CMD_GF_Private_Room_Info m_PrivateRoomInfo;
|
|
|
|
|
|
bool m_IsRunEndAction;
|
|
|
|
|
|
std::string m_strGameRuleInfo;
|
|
|
|
|
|
std::string m_strGameTitle;
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|