#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::iterator itor = m_kUpPlayerInfoCB.begin(); for (;itor != m_kUpPlayerInfoCB.end();itor++) { ((*itor).pPoint->*(*itor).pFun)(); } } void UserInfo::LoginSucess() { std::vector::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::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::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::iterator itor1 = m_kUpPlayerInfoCB.begin(); while (itor1 != m_kUpPlayerInfoCB.end()) { if ((*itor1).pPoint == pPoint) { itor1 = m_kUpPlayerInfoCB.erase(itor1); continue; } itor1++; } std::vector::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); }