Files
wnmj-normal/Classes/Games/WNMJ/WN_GamePlayer.h
2026-03-03 13:56:44 +08:00

101 lines
2.4 KiB
C++

#pragma once
#include "cocos2d.h"
#include "cocostudio/CocoStudio.h"
#include "ui/CocosGUI.h"
#include "GamePlayer.h"
USING_NS_CC;
using namespace cocostudio;
using namespace std;
using namespace ui;
namespace WNMJ_SPACE{
class WNGamePlayer : public GamePlayer
{
public:
WNGamePlayer(WORD wViewID, Node* pRootLayout, Sprite* pReady);
~WNGamePlayer();
//初始化;
virtual bool init();
virtual void setVisible(bool bShow);
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 setRoomCreate(bool bVisible);
//设置准备状态;
void setZhuangVisible(bool bVisible);
//设置准备状态;
void setReadyVisible(bool bVisible);
//设置断线状态;
void setOfflineVisible(bool bVisible);
//设置房主标志状态;
void setOwnerVisible(bool bVisible);
//设置托管状态;
void setTrustVisible(bool bVisible);
//更新积分;
void updateScore();
//设置欢乐积分
void setUnionScore(SCORE lscore);
//增加子节点;
void addChild(Node* pNode);
//转换到世界坐标系;
Vec2 convertToWorldSpace(const Vec2& nodePoint) const;
//获取准备坐标;
Vec2 getReadyWorldPos();
//获取头像位置;
Vec2 getHeadPos();
// 获取玩家头像纹理;
Texture2D* GetTextureHead();
//获取跟节点;
Node* getRootNode() { return m_pRootLayout; }
private:
uint8 m_cbViewID; //视图ID;
Node* m_pRootLayout; //根节点;
ImageView* m_pImgChatView; //聊天框背景;
Text* m_pTxtChatInfo; //聊天内容;
Node* m_pVoiceBubble; //语音气泡;
Sprite* m_pSprVoiceAni; //语音动画;
Text* m_pTxtNickName; //昵称;
Text* m_pTxtScore; //积分;
Text* m_pTxtUnionName; //工会名称;
Text* m_pTxtExp; //经验;
Sprite* m_pSprHead; //头像;
Sprite* m_pSprOper; //操作显示;
Sprite* m_pSprOffline; //断线标志;
Sprite* m_pSprOwner; //房主标志;
Sprite* m_pSpZhuang; //庄家标识;
bool m_bReady; //是否准备;
SCORE m_UnionScore; //欢乐积分;
bool m_IsUnionGoldOpen; //是否是欢乐场;
};
}