#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; //是否是欢乐场; }; }