517 lines
12 KiB
C++
517 lines
12 KiB
C++
|
|
#include "NN_GamePlayer.h"
|
|||
|
|
#include "ImagicDownManager.h"
|
|||
|
|
#include "NN_BigCardSprite.h"
|
|||
|
|
#include "ActionEx.h"
|
|||
|
|
#include "NN_CMD.h"
|
|||
|
|
|
|||
|
|
#define HAND_CARD_SCALE (0.8f) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>;
|
|||
|
|
|
|||
|
|
const Vec2 NN_GamePlayer::g_ptCardSpace = Vec2(197 * HAND_CARD_SCALE, 268 * HAND_CARD_SCALE);
|
|||
|
|
const Vec2 NN_GamePlayer::g_ptCardFirst = Vec2(-197 * HAND_CARD_SCALE / 2, 0);
|
|||
|
|
|
|||
|
|
NN_GamePlayer::NN_GamePlayer(WORD wViewID, Layout* pRootLayout) :
|
|||
|
|
GamePlayer(NULL), m_bReady(false), m_cbViewID(wViewID), m_pRootLayout(pRootLayout)
|
|||
|
|
{
|
|||
|
|
zeromemory(m_aryHandCard, sizeof(m_aryHandCard));
|
|||
|
|
|
|||
|
|
init();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
NN_GamePlayer::~NN_GamePlayer()
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
bool NN_GamePlayer::init()
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD>;
|
|||
|
|
m_pTxtNickName = static_cast<Text*>(m_pRootLayout->getChildByName("txtNickName"));
|
|||
|
|
CC_ASSERT(m_pTxtNickName!=nullptr);
|
|||
|
|
m_pTxtNickName->setString("");
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
m_pTxtUnionName = static_cast<Text*>(m_pRootLayout->getChildByName("txtUnionName"));
|
|||
|
|
CC_ASSERT(m_pTxtUnionName != nullptr);
|
|||
|
|
m_pTxtUnionName->setString("");
|
|||
|
|
|
|||
|
|
//ͷ<><CDB7>;
|
|||
|
|
m_pSprHead = static_cast<Sprite*>(m_pRootLayout->getChildByName("head"));
|
|||
|
|
CC_ASSERT(m_pSprHead!=nullptr);
|
|||
|
|
m_pSprHead->setVisible(false);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
m_pTxtScore = static_cast<TextBMFont*>(m_pRootLayout->getChildByName("txtScore"));
|
|||
|
|
CC_ASSERT(m_pTxtScore != nullptr);
|
|||
|
|
m_pTxtScore->setString("");
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
m_pTxtChip = static_cast<TextBMFont*>(m_pRootLayout->getChildByName("txtUserChip"));
|
|||
|
|
CC_ASSERT(m_pTxtChip != nullptr);
|
|||
|
|
m_pTxtChip->setString("");
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־;
|
|||
|
|
m_pSprOwner = static_cast<Sprite*>(m_pRootLayout->getChildByName("owner"));
|
|||
|
|
CC_ASSERT(m_pSprOwner != nullptr);
|
|||
|
|
m_pSprOwner->setVisible(false);
|
|||
|
|
|
|||
|
|
//ׯ<><D7AF>־;
|
|||
|
|
m_pSprZhuang = static_cast<Sprite*>(m_pRootLayout->getChildByName("zhuang"));
|
|||
|
|
CC_ASSERT(m_pSprZhuang != nullptr);
|
|||
|
|
m_pSprZhuang->setVisible(false);
|
|||
|
|
|
|||
|
|
//<><D7BC><EFBFBD><EFBFBD>־;
|
|||
|
|
m_pSprReady = static_cast<Sprite*>(m_pRootLayout->getChildByName("imgReadyIcon"));
|
|||
|
|
CC_ASSERT(m_pSprReady != nullptr);
|
|||
|
|
m_pSprReady->setVisible(false);
|
|||
|
|
|
|||
|
|
//ţ<><C5A3>־;
|
|||
|
|
m_pArmatureSprCow = static_cast<Armature*>(m_pRootLayout->getChildByName("ArmatureType"));
|
|||
|
|
CC_ASSERT(m_pArmatureSprCow != nullptr);
|
|||
|
|
m_pArmatureSprCow->setVisible(false);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>߱<EFBFBD>־;
|
|||
|
|
m_pSprOffline = static_cast<Sprite*>(m_pRootLayout->getChildByName("offline"));
|
|||
|
|
CC_ASSERT(m_pSprOffline != nullptr);
|
|||
|
|
m_pSprOffline->setVisible(false);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
m_pPanelHandCard = static_cast<Layout*>(m_pRootLayout->getChildByName("panelHandCard"));
|
|||
|
|
CC_ASSERT(m_pPanelHandCard != nullptr);
|
|||
|
|
|
|||
|
|
// <20><>ȡÿ<C8A1><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
for (uint8 i = 0; i < NN_MAX_COUNT; i++)
|
|||
|
|
{
|
|||
|
|
std::string strKey = StringUtils::format("cardNode_%d", i);
|
|||
|
|
auto cardNoe = static_cast<Node*>(m_pPanelHandCard->getChildByName(strKey));
|
|||
|
|
ASSERT(cardNoe != nullptr);
|
|||
|
|
if (cardNoe != nullptr)
|
|||
|
|
{
|
|||
|
|
m_aryHandCard[i] = new NNBigCardSprite(cardNoe, 0x0);
|
|||
|
|
m_aryHandCard[i]->setVisible(false);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
m_pImgChatView = static_cast<ImageView*>(m_pRootLayout->getChildByName("imgChat"));
|
|||
|
|
CC_ASSERT(m_pImgChatView != nullptr);
|
|||
|
|
m_pImgChatView->setVisible(false);
|
|||
|
|
|
|||
|
|
auto panelChat = static_cast<Layout*>(m_pImgChatView->getChildByName("panelChat"));
|
|||
|
|
CC_ASSERT(panelChat != nullptr);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
m_pTxtChatInfo = static_cast<Text*>(panelChat->getChildByName("txtMsg"));
|
|||
|
|
CC_ASSERT(m_pTxtChatInfo != nullptr);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
m_pVoiceBubble = static_cast<Node*>(m_pRootLayout->getChildByName("voice"));
|
|||
|
|
CC_ASSERT(m_pVoiceBubble != nullptr);
|
|||
|
|
m_pVoiceBubble->setVisible(false);
|
|||
|
|
|
|||
|
|
auto speek_bg = (Sprite*)m_pVoiceBubble->getChildByName("speek_bg");
|
|||
|
|
CC_ASSERT(speek_bg != nullptr);
|
|||
|
|
|
|||
|
|
m_pSprVoiceAni = (Sprite*)speek_bg->getChildByName("voice_ing");
|
|||
|
|
CC_ASSERT(m_pSprVoiceAni != nullptr);
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void NN_GamePlayer::PlayerEnter()
|
|||
|
|
{
|
|||
|
|
setInfoVisible(true);
|
|||
|
|
|
|||
|
|
std::string strHttp = GetHeadHttp();
|
|||
|
|
cocos2d::log("%s", strHttp.c_str());
|
|||
|
|
uint32 dwUserID = GetUserID();
|
|||
|
|
ImagicDownManager::Instance().addDown(m_pSprHead, strHttp, dwUserID);
|
|||
|
|
|
|||
|
|
//showChatInfo(utility::a_u8("<22><><EFBFBD>ã<EFBFBD><C3A3><EFBFBD>Ŀ<EFBFBD>궯<EFBFBD><EAB6AF><EFBFBD><EFBFBD><EFBFBD>跴<EFBFBD><E8B7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>궯<EFBFBD><EAB6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ӿ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void NN_GamePlayer::PlayerLeave()
|
|||
|
|
{
|
|||
|
|
if (m_isAllowLeave)
|
|||
|
|
{
|
|||
|
|
setInfoVisible(false);
|
|||
|
|
setReadyVisible(false);
|
|||
|
|
setOfflineVisible(false);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
void NN_GamePlayer::showChatInfo(const std::string strChatString)
|
|||
|
|
{
|
|||
|
|
auto label = Label::createWithSystemFont(strChatString, "", 28);
|
|||
|
|
CC_ASSERT(label!=nullptr);
|
|||
|
|
|
|||
|
|
m_pTxtChatInfo->setString(strChatString);
|
|||
|
|
const Size& labelSize = label->getContentSize();
|
|||
|
|
const Size& frameSize = m_pTxtChatInfo->getContentSize();
|
|||
|
|
|
|||
|
|
int nRows = labelSize.width / frameSize.width;
|
|||
|
|
|
|||
|
|
m_pImgChatView->setVisible(true);
|
|||
|
|
m_pTxtChatInfo->setPositionY(28.0f);
|
|||
|
|
|
|||
|
|
auto callback = CallFunc::create([=](){
|
|||
|
|
m_pImgChatView->setVisible(false);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
//<2F>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
if (nRows > 0)
|
|||
|
|
{
|
|||
|
|
auto move = EaseSineInOut::create(MoveBy::create(0.4f, Vec2(0, labelSize.height)));
|
|||
|
|
auto seq = Sequence::create(DelayTime::create(2.5f), move, nullptr);
|
|||
|
|
|
|||
|
|
m_pTxtChatInfo->runAction(Sequence::create(Repeat::create(seq, nRows), DelayTime::create(2.5f), callback, nullptr));
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
m_pTxtChatInfo->runAction(Sequence::create(DelayTime::create(2.5f), callback, nullptr));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
void NN_GamePlayer::showVoiceBubble()
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pVoiceBubble != nullptr);
|
|||
|
|
|
|||
|
|
m_pVoiceBubble->setVisible(true);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>;
|
|||
|
|
auto action = CSLoader::createTimeline("Games/NiuNiu/PlayerVoiceNode.csb");
|
|||
|
|
action->gotoFrameAndPlay(0);
|
|||
|
|
m_pSprVoiceAni->runAction(action);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
void NN_GamePlayer::hideVoiceBubble()
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pVoiceBubble != nullptr);
|
|||
|
|
|
|||
|
|
m_pSprVoiceAni->stopAllActions();
|
|||
|
|
m_pVoiceBubble->setVisible(false);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD>;
|
|||
|
|
void NN_GamePlayer::resetUI(bool bAll/* = false*/)
|
|||
|
|
{
|
|||
|
|
if ( bAll )
|
|||
|
|
{
|
|||
|
|
setInfoVisible(false);
|
|||
|
|
setReadyVisible(false);
|
|||
|
|
setOfflineVisible(false);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ע<EFBFBD><D7A2>Ϣ;
|
|||
|
|
m_pTxtChip->setString("");
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>߱<EFBFBD>־;
|
|||
|
|
m_pSprOffline->setVisible(false);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
for (uint8 i = 0; i < NN_MAX_COUNT; i++)
|
|||
|
|
{
|
|||
|
|
m_aryHandCard[i]->setVisible(false);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
m_pArmatureSprCow->setVisible(false);
|
|||
|
|
m_pSprZhuang->setVisible(false);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>;
|
|||
|
|
void NN_GamePlayer::setInfoVisible(bool bVisible)
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pSprHead!=nullptr);
|
|||
|
|
m_pSprHead->setVisible(bVisible);
|
|||
|
|
|
|||
|
|
CC_ASSERT(m_pTxtNickName!=nullptr);
|
|||
|
|
m_pTxtNickName->setString(bVisible?GetNickName():"");
|
|||
|
|
m_pTxtNickName->setVisible(bVisible);
|
|||
|
|
|
|||
|
|
CC_ASSERT(m_pTxtUnionName != nullptr);
|
|||
|
|
m_pTxtUnionName->setString(bVisible ? GetUnionName() : "");
|
|||
|
|
m_pTxtUnionName->setVisible(bVisible);
|
|||
|
|
|
|||
|
|
CC_ASSERT(m_pTxtScore != nullptr);
|
|||
|
|
SCORE lGameScore = bVisible ? GetUserScore() : 0;
|
|||
|
|
if (lGameScore >= 0)
|
|||
|
|
{
|
|||
|
|
m_pTxtScore->setString(StringUtils::format(".%d", lGameScore));
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
m_pTxtScore->setString(StringUtils::format("/%d", std::abs(lGameScore)));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//m_pTxtScore->setString(utility::toString<SCORE>(lScore));
|
|||
|
|
m_pTxtScore->setVisible(bVisible);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>;
|
|||
|
|
void NN_GamePlayer::setOwner(bool bOwenr)
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pSprOwner != nullptr);
|
|||
|
|
m_pSprOwner->setVisible(bOwenr);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊׯ<CEAA><D7AF>;
|
|||
|
|
bool NN_GamePlayer::setBankerVisible(bool bVisible)
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pSprZhuang!=nullptr);
|
|||
|
|
if (!m_pSprZhuang->isVisible())
|
|||
|
|
{
|
|||
|
|
float fscale = m_pSprZhuang->getScale();
|
|||
|
|
m_pSprZhuang->setScale(0.2f);
|
|||
|
|
auto actCardType = Sequence::create(Show::create(), EaseElasticOut::create(ScaleTo::create(0.8f, fscale)), nullptr);
|
|||
|
|
m_pSprZhuang->runAction(actCardType);
|
|||
|
|
|
|||
|
|
m_pSprZhuang->setVisible(bVisible);
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><D7BC>״̬;
|
|||
|
|
void NN_GamePlayer::setReadyVisible(bool bVisible)
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pSprReady != nullptr);
|
|||
|
|
m_pSprReady->setVisible(bVisible);
|
|||
|
|
|
|||
|
|
m_bReady = bVisible;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>״̬;
|
|||
|
|
void NN_GamePlayer::setOfflineVisible(bool bVisible)
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pSprOffline != nullptr);
|
|||
|
|
m_pSprOffline->setVisible(bVisible);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ׯ״̬;
|
|||
|
|
void NN_GamePlayer::setRobIconVisible(bool bVisible)
|
|||
|
|
{
|
|||
|
|
//CC_ASSERT(m_pSprQiang!=nullptr);
|
|||
|
|
|
|||
|
|
//if (bVisible)
|
|||
|
|
//{
|
|||
|
|
// m_pSprQiang->stopAllActions();
|
|||
|
|
|
|||
|
|
// auto actRepeat = Repeat::create(Sequence::create(ScaleTo::create(0.3f, 0.5f), ScaleTo::create(0.3f, 1.5f), nullptr), 5);
|
|||
|
|
// auto act = Sequence::create(Show::create(), actRepeat, Hide::create(), nullptr);
|
|||
|
|
// m_pSprQiang->runAction(act);
|
|||
|
|
//}
|
|||
|
|
//else
|
|||
|
|
//{
|
|||
|
|
// m_pSprQiang->stopAllActions();
|
|||
|
|
// m_pSprQiang->setVisible(false);
|
|||
|
|
//}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
void NN_GamePlayer::setHandCardData(uint8* pData, uint8 cbCount)
|
|||
|
|
{
|
|||
|
|
//CC_ASSERT(m_pPanelHandCard != nullptr);
|
|||
|
|
//if (pData == nullptr)
|
|||
|
|
//{
|
|||
|
|
// m_pPanelHandCard->setVisible(false);
|
|||
|
|
//}
|
|||
|
|
//else
|
|||
|
|
//{
|
|||
|
|
// m_pPanelHandCard->setVisible(true);
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
//m_pPanelHandCard->removeAllChildren();
|
|||
|
|
|
|||
|
|
////int iStartPosX = 0;
|
|||
|
|
////for (uint8 i = 0; i < cbCount; i++)
|
|||
|
|
////{
|
|||
|
|
//// NNBigCardSprite* pCardSprite = NNBigCardSprite::create(pData[i]);
|
|||
|
|
//// pCardSprite->setPositionX(iStartPosX);
|
|||
|
|
//// //pCardSprite->setPositionX(iStartPosX + 25 * i);
|
|||
|
|
//// m_pPanelHandCard->addChild(pCardSprite);
|
|||
|
|
|
|||
|
|
//// if (i > 0)
|
|||
|
|
//// {
|
|||
|
|
//// pCardSprite->runAction(MoveBy::create(0.4f, Vec2(25 * i, 0)));
|
|||
|
|
//// }
|
|||
|
|
////}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
void NN_GamePlayer::addCard(uint8 cbData, uint8 cbIndex)
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_aryHandCard[cbIndex] != nullptr);
|
|||
|
|
if (m_aryHandCard[cbIndex] != nullptr)
|
|||
|
|
{
|
|||
|
|
m_aryHandCard[cbIndex]->updateUIData(cbData);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>»<EFBFBD><C2BB><EFBFBD>;
|
|||
|
|
void NN_GamePlayer::updateScore()
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pTxtScore != nullptr);
|
|||
|
|
SCORE lGameScore = GetUserScore();
|
|||
|
|
if (lGameScore >= 0)
|
|||
|
|
{
|
|||
|
|
m_pTxtScore->setString(StringUtils::format(".%d", lGameScore));
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
m_pTxtScore->setString(StringUtils::format("/%d", std::abs(lGameScore)));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//m_pTxtScore->setString(utility::toString<SCORE>(lScore));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>³<EFBFBD><C2B3><EFBFBD>;
|
|||
|
|
void NN_GamePlayer::updateUserChip(SCORE lChipScore)
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pTxtChip != nullptr);
|
|||
|
|
std::string strChipScore = StringUtils::format("x%d", lChipScore);
|
|||
|
|
m_pTxtChip->setString(strChipScore);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>;
|
|||
|
|
void NN_GamePlayer::showCardType(int cbType)
|
|||
|
|
{
|
|||
|
|
if (cbType >= 0 && cbType <= NN_MAX_NIU_TYPE)
|
|||
|
|
{
|
|||
|
|
cocostudio::ArmatureAnimation* pArmature = m_pArmatureSprCow->getAnimation();
|
|||
|
|
if (pArmature != nullptr)
|
|||
|
|
{
|
|||
|
|
std::string strArmature = StringUtils::format("NNtype%d", cbType);
|
|||
|
|
pArmature->play(strArmature);
|
|||
|
|
m_pArmatureSprCow->setVisible(true);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
//m_pSprCow->setVisible(false);
|
|||
|
|
m_pArmatureSprCow->setVisible(false);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ʾ<EFBFBD><CABE>;
|
|||
|
|
void NN_GamePlayer::showCard(uint8 aryCardData[], uint8 cbCardCount)
|
|||
|
|
{
|
|||
|
|
//m_pPanelHandCard->removeAllChildren();
|
|||
|
|
|
|||
|
|
for (uint8 i = 0; i < cbCardCount; i++)
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_aryHandCard[i] != nullptr);
|
|||
|
|
if (m_aryHandCard[i] != nullptr)
|
|||
|
|
{
|
|||
|
|
m_aryHandCard[i]->updateUIData(aryCardData[i]);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ʾ<EFBFBD><CABE>;
|
|||
|
|
void NN_GamePlayer::showCard(uint8 aryCardData[], uint8 cbCardCount, int cbType)
|
|||
|
|
{
|
|||
|
|
//m_pPanelHandCard->removeAllChildren();
|
|||
|
|
|
|||
|
|
for (uint8 i = 0; i < cbCardCount; i++)
|
|||
|
|
{
|
|||
|
|
//addCard(aryCardData[i], cbType);
|
|||
|
|
CC_ASSERT(m_aryHandCard[i] != nullptr);
|
|||
|
|
if (m_aryHandCard[i] != nullptr)
|
|||
|
|
{
|
|||
|
|
m_aryHandCard[i]->updateUIData(aryCardData[i]);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
showCardType(cbType);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ʾţ;
|
|||
|
|
void NN_GamePlayer::tipCard(NN_CMD_S_OpenCard &stOpenCard)
|
|||
|
|
{
|
|||
|
|
if ((NIU_TYPE_1 <= stOpenCard.cbCardType) && (stOpenCard.cbCardType <= NIU_TYPE_10))
|
|||
|
|
{
|
|||
|
|
for (uint8 i = 0; i < NN_MAX_COUNT - 2; i++)
|
|||
|
|
{
|
|||
|
|
uint8 cbCardData = stOpenCard.cbCardData[i];
|
|||
|
|
|
|||
|
|
for (uint8 j = 0; j < NN_MAX_COUNT; j++)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
CC_ASSERT(m_aryHandCard[j] != nullptr);
|
|||
|
|
NNBigCardSprite* pCardSprite = m_aryHandCard[j];
|
|||
|
|
if (pCardSprite != nullptr && pCardSprite->getCardData() == cbCardData && !pCardSprite->isShoot())
|
|||
|
|
{
|
|||
|
|
pCardSprite->shootCard();
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡͷ<C8A1><CDB7>λ<EFBFBD><CEBB>;
|
|||
|
|
const Vec2 NN_GamePlayer::getHeadPos()
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pSprHead!=nullptr);
|
|||
|
|
Vec2 pos = m_pSprHead->convertToWorldSpace(Vec2(m_pSprHead->getContentSize().width/2, m_pSprHead->getContentSize().height/2));
|
|||
|
|
return Vec2(pos.x, pos.y);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>;
|
|||
|
|
const Vec2 NN_GamePlayer::getHandCardPos(uint8 index)
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_aryHandCard[index]);
|
|||
|
|
return m_aryHandCard[index]->getPosition();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ;
|
|||
|
|
Vec2 NN_GamePlayer::convertToWorldSpace(const Vec2& nodePoint) const
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pRootLayout != nullptr);
|
|||
|
|
return m_pRootLayout->convertToWorldSpace(nodePoint);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD>;
|
|||
|
|
void NN_GamePlayer::addChild(Node* pNode)
|
|||
|
|
{
|
|||
|
|
CC_ASSERT(m_pRootLayout != nullptr);
|
|||
|
|
m_pRootLayout->addChild(pNode);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void NN_GamePlayer::upPlayerState()
|
|||
|
|
{
|
|||
|
|
//״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD>û<EFBFBD>;
|
|||
|
|
uint8 cbUserStatus = GetUserStatus();
|
|||
|
|
|
|||
|
|
switch (cbUserStatus)
|
|||
|
|
{
|
|||
|
|
case US_SIT:
|
|||
|
|
{
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
case US_READY:
|
|||
|
|
{
|
|||
|
|
setReadyVisible(true);
|
|||
|
|
setOfflineVisible(false);
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
case US_PLAYING:
|
|||
|
|
{
|
|||
|
|
setReadyVisible(false);
|
|||
|
|
setOfflineVisible(false);
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
case US_OFFLINE:
|
|||
|
|
{
|
|||
|
|
setOfflineVisible(true);
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
default:
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|