Files
wnmj/Classes/Games/13S/13S_GamePlayer.h

132 lines
3.6 KiB
C
Raw Permalink Normal View History

2026-02-13 14:34:15 +08:00
#pragma once
#include "cocos2d.h"
#include "cocostudio/CocoStudio.h"
#include "cocostudio/CCArmature.h"
#include "ui/CocosGUI.h"
#include "GamePlayer.h"
#include "13S_CMD.h"
USING_NS_CC;
using namespace cocostudio;
using namespace std;
using namespace ui;
class SSS_GamePlayer : public GamePlayer
{
public:
SSS_GamePlayer(WORD wViewID, Layout* pRootLayout);
~SSS_GamePlayer();
//<2F><>ʼ<EFBFBD><CABC>;
virtual bool init();
public:
//<2F><><EFBFBD><EFBFBD>״̬<D7B4>ı<EFBFBD>;
void upPlayerState();
//<2F><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>;
virtual void PlayerEnter();
//<2F><><EFBFBD><EFBFBD><EFBFBD>뿪;
virtual void PlayerLeave();
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
virtual void showChatInfo(const std::string strChatString);
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
virtual void showVoiceBubble();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
virtual void hideVoiceBubble();
public:
//<2F><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD>;
void resetUI(bool bAll = false);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>;
void setInfoVisible(bool bVisible);
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>;
void setOwner(bool bOwenr);
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊׯ<CEAA><D7AF>;
bool setBankerVisible(bool bVisible);
//<2F><><EFBFBD><EFBFBD>׼<EFBFBD><D7BC>״̬;
void setReadyVisible(bool bVisible);
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>״̬;
void setOfflineVisible(bool bVisible);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
void addOneCard(uint8 cbData, uint8 cbRowIndex, uint8 cbColIndex);
//<2F><><EFBFBD>»<EFBFBD><C2BB><EFBFBD>;
void updateScore();
//<2F><><EFBFBD>³<EFBFBD><C2B3><EFBFBD>;
void updateUserChip(SCORE lChipScore);
void showGameScore(SCORE aryScore[SSS_GROUP_COUNT]);
void setGameScore(SCORE aryScore[SSS_GROUP_COUNT], uint16 aryCardType[SSS_GROUP_COUNT], bool bShowScore=true);
void playScoreAni(int nIndex, const std::function<void()>& fnCallback, bool bPlaySound, bool bPlaySubScore=true);
void playSubScoreAni(int nIndex, SCORE lScore, const std::function<void()>& fnCallback=nullptr);
//<2F><>ʾ<EFBFBD><CABE>;
void showCard(uint8 aryFrontCard[SSS_MIN_ITEM_COUNT], uint8 aryMidCard[SSS_MAX_ITEM_COUNT], uint8 aryBackCard[SSS_MAX_ITEM_COUNT], uint8 cbHandStatus, bool bInitCard = false);
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>״̬;
void showHandStatus(uint8 cbHandStatus);
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD>;
void showSepShadow(bool bVisible);
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
void showCardType(uint8 cbSpecialCardType);
//<2F><>ȡͷ<C8A1><CDB7>λ<EFBFBD><CEBB>;
const Vec2 getHeadPos();
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>;
const Vec2 getHandCardPos(uint8 cbRowIndex, uint8 cbColIndex);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD>;
void addChild(Node* pNode);
//ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ;
Vec2 convertToWorldSpace(const Vec2& nodePoint) const;
private:
bool m_bReady; // <20>Ƿ<EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD>;
uint8 m_cbViewID; // <20><>ͼID;
Layout* m_pRootLayout; // <20><><EFBFBD>ڵ<EFBFBD>;
TextBMFont* m_pTxtChip; //<2F><><EFBFBD><EFBFBD>;
Text* m_pTxtNickName; // <20>dz<EFBFBD>;
Text* m_pTxtScore; // <20><><EFBFBD><EFBFBD>;
ImageView* m_pImgChatView; // <20><><EFBFBD><EFBFBD><EFBFBD>򱳾<EFBFBD>;
Text* m_pTxtChatInfo; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
Node* m_pVoiceBubble; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
Sprite* m_pSprVoiceAni; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
Button* m_pBtnUserHead; // ͷ<><CDB7><EFBFBD><EFBFBD>ť;
Sprite* m_pSprHead; // ͷ<><CDB7>;
Sprite* m_pSprOffline; // <20><><EFBFBD>߱<EFBFBD>־;
Sprite* m_pSprOwner; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־;
Sprite* m_pSprBanker; // ׯ<><D7AF>־;
Sprite* m_pSprReady; // ׼<><D7BC><EFBFBD><EFBFBD>־;
Sprite* m_pSprStatus; // ״̬<D7B4><CCAC>־;
Sprite* m_pSprSepShadow; // <20><><EFBFBD>ֲ<EFBFBD>;
Armature* m_pArmatureStatus; // ״̬<D7B4><CCAC><EFBFBD><EFBFBD>;
Armature* m_pArmaCardTypeNode; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
Layout* m_pPanelGameScore; // <20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
Layout* m_aryPanelHandCard[SSS_GROUP_COUNT];
Sprite* m_arySpriteCard[SSS_GROUP_COUNT][SSS_MAX_ITEM_COUNT];
Sprite* m_arySprCardType[SSS_GROUP_COUNT];
TextAtlas* m_pTxtAtlasScoreCount;
TextAtlas* m_aryTxtAtlasScore[SSS_GROUP_COUNT]; //
SCORE m_aryGameScore[SSS_GROUP_COUNT];
SCORE m_nScoreCount;
uint16 m_aryCardType[SSS_GROUP_COUNT];
uint8 m_aryFrontCard[SSS_MIN_ITEM_COUNT]; //<2F><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>;
uint8 m_aryMidCard[SSS_MAX_ITEM_COUNT]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>;
uint8 m_aryBackCard[SSS_MAX_ITEM_COUNT]; //<2F><><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>;
};