#pragma once #include "cocos2d.h" #include "cocostudio/CocoStudio.h" #include "cocostudio/CCArmature.h" #include "ui/CocosGUI.h" #include "GamePlayer.h" #include "NN_CMD.h" #include "NN_BigCardSprite.h" USING_NS_CC; using namespace cocostudio; using namespace std; using namespace ui; class NN_GamePlayer : public GamePlayer { public: NN_GamePlayer(WORD wViewID, Layout* pRootLayout); ~NN_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(); public: //重置界面; void resetUI(bool bAll = false); //玩家信息可见性; void setInfoVisible(bool bVisible); //设置是否为房主; void setOwner(bool bOwenr); //设置是否为庄家; bool setBankerVisible(bool bVisible); //设置准备状态; void setReadyVisible(bool bVisible); //设置断线状态; void setOfflineVisible(bool bVisible); //设置抢庄状态; void setRobIconVisible(bool bVisible); //设置玩家手牌; void setHandCardData(uint8* pData, uint8 cbCount); //增加牌; void addCard(uint8 cbData, uint8 cbIndex); //更新积分; void updateScore(); //更新筹码; void updateUserChip(SCORE lChipScore); //显示牌型; void showCardType(int cbType); //显示牌; void showCard(uint8 aryCardData[], uint8 cbCardCount); //显示牌; void showCard(uint8 aryCardData[], uint8 cbCardCount, int cbType); //提示牛; void tipCard(NN_CMD_S_OpenCard &stOpenCard); //获取头像位置; const Vec2 getHeadPos(); //获取手牌位置; const Vec2 getHandCardPos(uint8 index); //增加子节点; void addChild(Node* pNode); //转换到世界坐标系; Vec2 convertToWorldSpace(const Vec2& nodePoint) const; private: bool m_bReady; //是否准备了; uint8 m_cbViewID; //视图ID; Layout* m_pRootLayout; //根节点; Text* m_pTxtNickName; //昵称; TextBMFont* m_pTxtScore; //积分; TextBMFont* m_pTxtChip; //筹码; ImageView* m_pImgChatView; //聊天框背景; Text* m_pTxtChatInfo; //聊天内容; Node* m_pVoiceBubble; //语音气泡; Sprite* m_pSprVoiceAni; //语音动画; Sprite* m_pSprHead; //头像; Sprite* m_pSprOffline; //断线标志; Sprite* m_pSprOwner; //房主标志; Sprite* m_pSprZhuang; //庄标志; Sprite* m_pSprReady; //准备标志; Armature* m_pArmatureSprCow; //牛标志; Text* m_pTxtUnionName; //工会名称; Layout* m_pPanelHandCard; //出牌面板; NNBigCardSprite* m_aryHandCard[NN_MAX_COUNT]; static const Vec2 g_ptCardSpace; static const Vec2 g_ptCardFirst; };