161 lines
3.6 KiB
C++
161 lines
3.6 KiB
C++
#pragma once
|
|
|
|
#include "cocos2d.h"
|
|
#include "cocostudio/CocoStudio.h"
|
|
#include "cocostudio/CCArmature.h"
|
|
#include "ui/CocosGUI.h"
|
|
#include "GamePlayer.h"
|
|
#include "ZJH_CMD.h"
|
|
|
|
USING_NS_CC;
|
|
using namespace cocostudio;
|
|
using namespace std;
|
|
using namespace ui;
|
|
|
|
class ZJHGamePlayer : public GamePlayer
|
|
{
|
|
public:
|
|
ZJHGamePlayer(WORD wViewID, Layout* pRootLayout);
|
|
~ZJHGamePlayer();
|
|
|
|
//初始化;
|
|
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();
|
|
public:
|
|
//重置界面;
|
|
void resetUI(bool bAll = false);
|
|
|
|
//玩家信息可见性;
|
|
void setInfoVisible(bool bVisible);
|
|
//设置是否为房主;
|
|
void setOwner(bool bOwenr);
|
|
//设置准备状态;
|
|
void setReadyVisible(bool bVisible);
|
|
//设置断线状态;
|
|
void setOfflineVisible(bool bVisible);
|
|
|
|
//获取头像;
|
|
Sprite* getHeadSprite() { return m_pSprHead; }
|
|
|
|
//开启时钟;
|
|
void openClock(float fTime);
|
|
//关闭时钟;
|
|
void closeClock();
|
|
|
|
//设置选择比牌按钮状态;
|
|
void setCompareVisible(bool bVisible);
|
|
//设置选择比牌按钮点击回调;
|
|
void setCompareClickCallback(const std::function<void(uint16)>& callback);
|
|
|
|
//设置选择看牌按钮状态;
|
|
void setLookCardVisible(bool bVisible);
|
|
//设置选择看牌按钮点击回调;
|
|
void setLookCardClickCallback(const Widget::ccWidgetClickCallback& callback);
|
|
|
|
//显示操作提示;
|
|
void showOperateTip(uint32 dwOper, int nData);
|
|
//显示背牌;
|
|
void showBackCard();
|
|
//显示牌类型;
|
|
void showCardType(uint8 cbCardType);
|
|
//显示牌类型;
|
|
void showCardTypeEx(uint8 cbCardType);
|
|
//隐藏牌类型;
|
|
void hideCardTypeEx();
|
|
|
|
//增加牌;
|
|
void addOneCard(uint8 cbData, uint8 cbIndex);
|
|
|
|
//设置总下注;
|
|
void setAllChip(SCORE lChip);
|
|
//设置加注;
|
|
void setAddChip(SCORE lChip);
|
|
|
|
//更新积分;
|
|
void updateScore();
|
|
|
|
//显示牌;
|
|
void showCard(uint8 aryCardData[ZJH_MAX_COUNT]);
|
|
//显示手牌状态;
|
|
void showHandStatus(uint8 cbHandStatus);
|
|
//隐藏手牌状态;
|
|
void hideHandStatus();
|
|
|
|
//获取头像位置;
|
|
const Vec2 getHeadPos();
|
|
//获取手牌位置;
|
|
const Vec2 getHandCardPos(uint8 cbIndex);
|
|
|
|
|
|
//增加子节点;
|
|
void addChild(Node* pNode);
|
|
//转换到世界坐标系;
|
|
Vec2 convertToWorldSpace(const Vec2& nodePoint) const;
|
|
|
|
private:
|
|
//点击比牌按钮;
|
|
void onCompareButtonClick(Ref* pSender);
|
|
|
|
private:
|
|
|
|
bool m_bReady; // 是否准备了;
|
|
uint8 m_cbViewID; // 视图ID;
|
|
Layout* m_pRootLayout; // 根节点;
|
|
|
|
Text* m_pTxtNickName; // 昵称;
|
|
Text* m_pTxtScore; // 积分;
|
|
|
|
ImageView* m_pImgChatView; // 聊天框背景;
|
|
Text* m_pTxtChatInfo; // 聊天内容;
|
|
Node* m_pVoiceBubble; // 语音气泡;
|
|
Sprite* m_pSprVoiceAni; // 语音动画;
|
|
|
|
Sprite* m_pSprAllAddChip; // 已下注精灵;
|
|
Text* m_pTxtAllAddChip; // 已下注文本;
|
|
|
|
Sprite* m_pSprCurAddChip; // 当前加注精灵;
|
|
Text* m_pTxtCurAddChip; // 当前加注文本;
|
|
|
|
Button* m_pBtnUserHead; // 头像按钮;
|
|
Button* m_pBtnCompareCard; // 比牌按钮;
|
|
Button* m_pBtnLookCard; // 看牌按钮;
|
|
|
|
Sprite* m_pSprHead; // 头像;
|
|
Sprite* m_pSprOffline; // 断线标志;
|
|
Sprite* m_pSprOwner; // 房主标志;
|
|
Sprite* m_pSprReady; // 准备标志;
|
|
Sprite* m_pSprStatus; // 状态标志;
|
|
|
|
TextBMFont* m_pTxtOperTip; // 操作提示;
|
|
Vec2 m_ptInitOperTip; // 提示文字初始位置;
|
|
|
|
Armature* m_pArmatureCardType; // 类型动画;
|
|
Armature* m_pArmatureSelect; // 选择动画;
|
|
|
|
Layout* m_aryPanelHandCard;
|
|
|
|
Sprite* m_arySpriteCard[ZJH_MAX_COUNT];
|
|
Sprite* m_sprCardType;
|
|
|
|
ProgressTimer* m_pProgressTimer;
|
|
Sprite* m_pSprTimeOut;
|
|
|
|
uint8 m_aryCardData[ZJH_MAX_COUNT];
|
|
|
|
std::function<void(uint8)> _fnCompareCardSelect;
|
|
};
|
|
|