bool CPythonNetworkStream::RecvPointChange()
{
TPacketGCPointChange PointChange;
if (!Recv(sizeof(TPacketGCPointChange), &PointChange))
{
Tracen("Recv Point Change Packet Error");
return false;
}
CPythonCharacterManager& rkChrMgr = CPythonCharacterManager::Instance();
rkChrMgr.ShowPointEffect(PointChange.Type, PointChange.dwVID);
CInstanceBase * pInstance = CPythonCharacterManager::Instance().GetMainInstancePtr();
// ÀÚ½ÅÀÇ Point°¡ º¯°æµÇ¾úÀ» °æ¿ì..
if (pInstance)
if (PointChange.dwVID == pInstance->GetVirtualID())
{
CPythonPlayer & rkPlayer = CPythonPlayer::Instance();
rkPlayer.SetStatus(PointChange.Type, PointChange.value);
switch (PointChange.Type)
{
case POINT_STAT_RESET_COUNT:
__RefreshStatus();
break;
case POINT_LEVEL:
case POINT_ST:
case POINT_DX:
case POINT_HT:
case POINT_IQ:
__RefreshStatus();
__RefreshSkillWindow();
break;
case POINT_SKILL:
case POINT_SUB_SKILL:
case POINT_HORSE_SKILL:
__RefreshSkillWindow();
break;
case POINT_ENERGY:
if (PointChange.value == 0)
{
rkPlayer.SetStatus(POINT_ENERGY_END_TIME, 0);
}
__RefreshStatus();
break;
default:
__RefreshStatus();
break;
}
if (POINT_GOLD == PointChange.Type)
{
if (PointChange.amount > 0)
{
PyObject *args = PyTuple_New(1);
PyTuple_SetItem(args, 0, PyLong_FromLongLong(PointChange.amount));
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnPickMoney", args);
}
}
}
return true;
}