#include "PlayerScene.h" #include "MissionWeiXin.h" #include "SimpleAudioEngine.h" #include "UserInfo.h" #include "ImagicDownManager.h" PlayerScene::PlayerScene() { } PlayerScene::~PlayerScene() { } bool PlayerScene::init() { if (!Node::init()) { return false; }; rootPanel = CSLoader::createNode("Platform/PlayerScene.csb"); CC_ASSERT(rootPanel != nullptr); this->addChild(rootPanel); m_ImageView = (ImageView*)rootPanel->getChildByName("Imagebg"); CC_ASSERT(m_ImageView != nullptr); ////获取关闭按钮 //auto btnClose = (Button*)m_ImageView->getChildByName("btnExit"); //CC_ASSERT(btnClose != nullptr); ////注册关闭按钮事件 //btnClose->addClickEventListener([this](Ref*){ // YSAudioEngine::Instance().playBtnClickEffect(); // //this->removeFromParent(); // this->popScene(); //}); auto panelbg = (Layout*)rootPanel->getChildByName("Panel_bg"); CC_ASSERT(panelbg != nullptr); panelbg->addClickEventListener([this](Ref*){ YSAudioEngine::Instance().playBtnClickEffect(); this->popScene(); }); return true; } void PlayerScene::showPlayerInfo(GamePlayer* player /*= nullptr*/) { if (player != nullptr) { // 头像 auto sprUserFace = (Sprite*)m_ImageView->getChildByName("Face"); CC_ASSERT(sprUserFace != nullptr); std::string strHttp = player->GetHeadHttp(); uint32 dwUserID = player->GetUserID(); ImagicDownManager::Instance().addDown(sprUserFace, strHttp, dwUserID); // 名字 auto txtUserName = (Text*)m_ImageView->getChildByName("txtUserName"); CC_ASSERT(txtUserName != nullptr); txtUserName->setString(player->GetNickName()); // 性别 auto sex = (Sprite*)m_ImageView->getChildByName("sex"); CC_ASSERT(sex != nullptr); std::string strSex = StringUtils::format("Platform/player/%d.png", player->GetUserInfo()->cbGender); sex->setTexture(strSex); // 经验 auto txtExp = (Text*)m_ImageView->getChildByName("txtExp"); CC_ASSERT(txtExp != nullptr); std::string strExp = utility::GetUserLevel(player->GetUserGrade()); txtExp->setString(utility::a_u8(strExp)); // IP auto txtUserIP = (Text*)m_ImageView->getChildByName("txtUserIp"); CC_ASSERT(txtUserIP != nullptr); std::string strLogonIp = StringUtils::format("IP:%s", player->GetLogonIp().c_str()); txtUserIP->setString(strLogonIp); // 地址 tagUserAddr UserAddr = player->GetLocation(); auto txtAddr = (Text*)m_ImageView->getChildByName("txtAddr"); CC_ASSERT(txtAddr != nullptr); std::string strAddr = utility::a_u8("未知位置"); if (UserAddr.isInit) { strAddr = utility::a_u8("地址:") + UserAddr.strAddress; } txtAddr->setString(strAddr); // 距离 auto txtDistance = (Text*)m_ImageView->getChildByName("txtDistance"); CC_ASSERT(txtDistance != nullptr); std::string strDistance = "距离:0.0km"; //计算距离 tagUserAddr* pSelfAddr = CGlobalUserInfo::GetInstance()->GetUserAddr(); if (pSelfAddr->isInit && UserAddr.isInit) { double dDistance = CGlobalUserInfo::GetInstance()->GetDistance(UserAddr.latitude, UserAddr.longitude); strDistance = StringUtils::format("距离:%0.3fkm", dDistance); } txtDistance->setString(utility::a_u8(strDistance)); } } void PlayerScene::onEnter() { Node::onEnter(); } void PlayerScene::onEnterTransitionDidFinish() { Node::onEnterTransitionDidFinish(); } void PlayerScene::onExit() { Node::onExit(); }