130 lines
3.2 KiB
C++
130 lines
3.2 KiB
C++
#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();
|
|
}
|