Files
wnmj-normal/Classes/GameFrame/UserInfo.cpp
2026-03-03 13:56:44 +08:00

188 lines
4.1 KiB
C++

#include "UserInfo.h"
#include "GlobalJosn.h"
SINGLETON_STORAGE(UserInfo);
UserInfo::UserInfo()
{
m_kIndividualMission.setUrl(GlobalJosn::getInstance()->m_strLogonIp.c_str(), GlobalJosn::getInstance()->m_iPort);
CGlobalUserInfo::GetInstance()->setSink(this);
m_IsLogin = false;
m_isShake = false;
}
UserInfo::~UserInfo()
{
m_IsLogin = false;
}
void UserInfo::reqAccountInfo(float fWaiteTime)
{
if (fWaiteTime > 0.01f)
{
TimeManager::Instance().addCerterTimeCB(TIME_CALLBACK(UserInfo::on_reqAccountInfo,this),fWaiteTime);
}
else
{
on_reqAccountInfo();
}
}
void UserInfo::on_reqAccountInfo()
{
m_kIndividualMission.queryAccountInfo();
}
tagGlobalUserData* UserInfo::getUserData()
{
CGlobalUserInfo * pGlobalUserInfo=CGlobalUserInfo::GetInstance();
return pGlobalUserInfo->GetGlobalUserData();
}
//tagUserInsureInfo* UserInfo::GetUserInsureInfo()
//{
// CGlobalUserInfo * pGlobalUserInfo=CGlobalUserInfo::GetInstance();
// return pGlobalUserInfo->GetUserInsureInfo();
//}
uint32 UserInfo::getUserID()
{
return CGlobalUserInfo::GetInstance()->getUserID();
}
uint32 UserInfo::getGameID()
{
return CGlobalUserInfo::GetInstance()->getGameID();
}
uint8 UserInfo::getGender()
{
return CGlobalUserInfo::GetInstance()->getGender();
}
void UserInfo::modifyWeiXinInfo(uint8 cbGender, std::string szNickName, std::string szHttp)
{
m_kIndividualMission.modifyWeiXinInfo(cbGender, szNickName, szHttp);
}
std::string UserInfo::getHeadHttp()
{
return CGlobalUserInfo::GetInstance()->getHeadHttp();
}
std::string UserInfo::getUserChannel()
{
return CGlobalUserInfo::GetInstance()->getUserChannel();
}
std::string UserInfo::getUserIP()
{
return CGlobalUserInfo::GetInstance()->GetGlobalUserData()->szLogonIP;
}
std::string UserInfo::getUserNicName()
{
return CGlobalUserInfo::GetInstance()->getNickName();
}
std::string UserInfo::getAccounts()
{
return CGlobalUserInfo::GetInstance()->getAccounts();
}
SCORE UserInfo::getUserScore()
{
return CGlobalUserInfo::GetInstance()->getUserScore();
}
SCORE UserInfo::getUserInsure()
{
return CGlobalUserInfo::GetInstance()->getUserInsure();
}
void UserInfo::reqIndividual()
{
m_kIndividualMission.query(getUserID());
}
void UserInfo::upPlayerInfo()
{
std::vector<UserCallInfo>::iterator itor = m_kUpPlayerInfoCB.begin();
for (;itor != m_kUpPlayerInfoCB.end();itor++)
{
((*itor).pPoint->*(*itor).pFun)();
}
}
void UserInfo::LoginSucess()
{
std::vector<UserCallInfo>::iterator itor = m_kLoginSucessCB.begin();
for (;itor != m_kLoginSucessCB.end();itor++)
{
((*itor).pPoint->*(*itor).pFun)();
}
}
void UserInfo::addLoginSucessCB(cocos2d::Ref* pPoint,QYSEL_CallFunc pFun)
{
std::vector<UserCallInfo>::iterator itor = m_kLoginSucessCB.begin();
for (;itor != m_kLoginSucessCB.end();itor++)
{
if ((*itor).pPoint == pPoint)
{
CCASSERT(false,"");
return;
}
}
UserCallInfo kCallInfo;
kCallInfo.pPoint = pPoint;
kCallInfo.pFun = pFun;
m_kLoginSucessCB.push_back(kCallInfo);
}
void UserInfo::addUpPlayerInfoCB(cocos2d::Ref* pPoint,QYSEL_CallFunc pFun)
{
std::vector<UserCallInfo>::iterator itor = m_kUpPlayerInfoCB.begin();
for (;itor != m_kUpPlayerInfoCB.end();itor++)
{
if ((*itor).pPoint == pPoint)
{
CCASSERT(false,"");
return;
}
}
UserCallInfo kCallInfo;
kCallInfo.pPoint = pPoint;
kCallInfo.pFun = pFun;
m_kUpPlayerInfoCB.push_back(kCallInfo);
}
void UserInfo::delCallByPoint(cocos2d::Ref* pPoint)
{
std::vector<UserCallInfo>::iterator itor1 = m_kUpPlayerInfoCB.begin();
while (itor1 != m_kUpPlayerInfoCB.end())
{
if ((*itor1).pPoint == pPoint)
{
itor1 = m_kUpPlayerInfoCB.erase(itor1);
continue;
}
itor1++;
}
std::vector<UserCallInfo>::iterator itor2 = m_kLoginSucessCB.begin();
while (itor2 != m_kLoginSucessCB.end())
{
if ((*itor2).pPoint == pPoint)
{
itor2 = m_kLoginSucessCB.erase(itor2);
continue;
}
itor2++;
}
}
void UserInfo::setPhoneNumber( std::string strNumber )
{
m_kIndividualMission.modifyPhoneNumber(strNumber);
}
std::string UserInfo::getPhoneNumber()
{
return CGlobalUserInfo::GetInstance()->getPhoneNumber();
}
void UserInfo::setIndividualMissionSink(IIndividualMissionSink* pSink)
{
m_kIndividualMission.setMissionSink(pSink);
}