130 lines
3.2 KiB
C++
130 lines
3.2 KiB
C++
#pragma once
|
|
|
|
#include "cocos2d.h"
|
|
#include "cocostudio/CocoStudio.h"
|
|
#include "ui/CocosGUI.h"
|
|
#include "GamePlayer.h"
|
|
#include "DZ_CMD.h"
|
|
|
|
USING_NS_CC;
|
|
using namespace cocostudio;
|
|
using namespace std;
|
|
using namespace ui;
|
|
|
|
class DZ_GamePlayer : public GamePlayer
|
|
{
|
|
public:
|
|
DZ_GamePlayer(WORD wViewID, Layout* pRootLayout);
|
|
~DZ_GamePlayer();
|
|
|
|
//初始化;
|
|
virtual bool init();
|
|
|
|
public:
|
|
//玩家状态改变;
|
|
void upPlayerState();
|
|
//玩家进入;
|
|
virtual void PlayerEnter();
|
|
//玩家离开;
|
|
virtual void PlayerLeave();
|
|
//显示玩家聊天内容;
|
|
virtual void showChatInfo(const std::string strChatString);
|
|
//显示语音气泡;
|
|
virtual void showVoiceBubble();
|
|
//隐藏语音气泡;
|
|
virtual void hideVoiceBubble();
|
|
//显示本地信息;
|
|
virtual void showUserInfo();
|
|
|
|
public:
|
|
//重置界面;
|
|
void resetUI(bool bAll = false);
|
|
|
|
//玩家信息可见性;
|
|
void setInfoVisible(bool bVisible);
|
|
//设置名称是否可见;
|
|
//void setNickNameVisible(bool bVisible);
|
|
//设置是否为地主;
|
|
void setLand(uint8 cbFlag);
|
|
//设置准备状态;
|
|
void setReadyVisible(bool bVisible);
|
|
//设置断线状态;
|
|
void setOfflineVisible(bool bVisible);
|
|
//设置房主标志状态;
|
|
void setOwnerVisible(bool bVisible);
|
|
//设置托管状态;
|
|
void setTrustVisible(bool bVisible);
|
|
//设置叫分;
|
|
void setCallVisible(bool bVisible, uint8 cbScore=255);
|
|
//设置不出;
|
|
void setPassVisible(bool bVisible);
|
|
//设置玩家手牌;
|
|
void setHandCardData(uint8* pData, uint8 cbCount, bool bHorizontal=false);
|
|
//设置玩家打出去的牌;
|
|
void setOutCardData(uint8* pData, uint8 cbCount, bool bDelCard=false);
|
|
//显示倒计时;
|
|
void showClock(uint16 wSeconds, const std::function<void()>& callback=nullptr);
|
|
//隐藏倒计时;
|
|
void killClock();
|
|
//显示排名;
|
|
void showRanking(uint8 cbRanking);
|
|
//显示叫的牌;
|
|
void showCallCard(uint8 cbCardData);
|
|
|
|
//更新积分;
|
|
void updateScore(bool bVisible);
|
|
//更新手中扑克牌数量;
|
|
void setHandCardCount(uint8 cbCount, bool isVisble);
|
|
//设置手牌数量不可见;
|
|
void setHandCardCountVisble(bool isVisble);
|
|
|
|
//获取发牌位置;
|
|
const Vec2 getCardPos();
|
|
//获取出牌位置;
|
|
const Vec2& getOutCardPos();
|
|
//获取头像位置;
|
|
const Vec2& getHeadPos();
|
|
|
|
//增加子节点;
|
|
void addChild(Node* pNode);
|
|
//转换到世界坐标系;
|
|
Vec2 convertToWorldSpace(const Vec2& nodePoint) const;
|
|
|
|
////获取根节点;
|
|
//Layout* getRootNode() { return m_pRootLayout; }
|
|
|
|
private:
|
|
//bool m_bNickNameVisible; //昵称是否可见;
|
|
bool m_bReady; //是否准备了;
|
|
bool m_bLandlord; //是否是地主;
|
|
uint8 m_cbViewID; //视图ID;
|
|
Layout* m_pRootLayout; //根节点;
|
|
Layout* m_pHandCardLayout; //手牌容器;
|
|
|
|
Text* m_pTxtNickName; //昵称;
|
|
Text* m_pTxtScore; //积分;
|
|
TextAtlas* m_pTxtAtlClock; //倒计时;
|
|
Text* m_pTxtSurplus; //剩余牌;
|
|
|
|
ImageView* m_pImgChatView; //聊天框背景;
|
|
Text* m_pTxtChatInfo; //聊天内容;
|
|
Node* m_pVoiceBubble; //语音气泡;
|
|
Sprite* m_pSprVoiceAni; //语音动画;
|
|
|
|
Sprite* m_pSprHead; //头像;
|
|
Sprite* m_pLandFlag; //地主标志;
|
|
Sprite* m_pFarmerFlag; //农民标志;
|
|
Sprite* m_pSprOper; //操作显示;
|
|
Sprite* m_pSprOffline; //断线标志;
|
|
Sprite* m_pSprOwner; //房主标志;
|
|
Sprite* m_pSprTrust; //托管标志;
|
|
Sprite* m_pSprSurplusCard; //剩余牌;
|
|
Sprite* m_pSprRanking; //排名;
|
|
|
|
Layout* m_pPanelOutCard; //出牌面板;
|
|
|
|
//Node* m_pNodeCallCard; //庄家叫的牌;
|
|
|
|
};
|
|
|