📄 peacewarmodemanager.cpp
字号:
// PeaceWarModeManager.cpp: implementation of the CPeaceWarModeManager class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "PeaceWarModeManager.h"
#include "MoveManager.h"
#include "ObjectManager.h"
#include "ObjectStateManager.h"
#include "AppearanceManager.h"
#include "GameIn.h"
#include "CharStateDialog.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
GLOBALTON(CPeaceWarModeManager);
CPeaceWarModeManager::CPeaceWarModeManager()
{
}
CPeaceWarModeManager::~CPeaceWarModeManager()
{
}
void CPeaceWarModeManager::InitPeace_WarMode(CPlayer* pPlayer)
{
BOOL bPeace = pPlayer->GetCharacterTotalInfo()->bPeace;
if(bPeace == TRUE)
//MOVEMGR->SetWalkMode(pPlayer);
MOVEMGR->SetRunMode(pPlayer); // ¹«Á¶°Ç ¶Ù±â·Î... [6/3/2003]
else
MOVEMGR->SetRunMode(pPlayer);
// Peace_WarMode( pPlayer, bPeace );
//KES CHARSTATEDLG 031016
// if( pPlayer == HERO )
// if( GAMEIN->GetCharStateDialog() )
// GAMEIN->GetCharStateDialog()->SetPeaceWarMode( bPeace );
}
void CPeaceWarModeManager::ToggleHeroPeace_WarMode()
{
if( MOVEMGR->IsMoving(HERO) )
MOVEMGR->HeroMoveStop();
// »óŰ¡ None À϶§¸¸ ¹Ù²Ü¼ö ÀÖ´Ù.
if( HERO->GetState() != eObjectState_None &&
HERO->GetState() != eObjectState_Move &&
HERO->GetState() != eObjectState_Immortal )
return;
BOOL bPeace = HERO->GetCharacterTotalInfo()->bPeace;
bPeace = !bPeace; // Åä±Û ½ÃÅ´
// ¸¸¾à ÀüÅõ¸ðµå·Î ¹Ù²Ù´Âµ¥ °È±âÀÌ¸é ¶Ù±â·Î ¹Ù²Û´Ù.
// if(bPeace==FALSE && MOVEMGR->GetMoveMode(HERO) == eMoveMode_Walk)
// {
// MOVEMGR->ToggleHeroMoveMode();
// }
// ¸¸¾à Æòȸðµå·Î ¹Ù²Ù´Âµ¥ ¶Ù±âÀÌ¸é °È±â·Î ¹Ù²Û´Ù.
// if(bPeace==TRUE && MOVEMGR->GetMoveMode(HERO) == eMoveMode_Run)
// {
// MOVEMGR->ToggleHeroMoveMode();
// }
Peace_WarMode(HERO,bPeace);
// ¼¹ö¿¡ ¸Þ¼¼Áö º¸³¿
MSGBASE msg;
msg.Category = MP_PEACEWARMODE;
if(bPeace)
msg.Protocol = MP_PEACEWARMODE_PEACE;
else
msg.Protocol = MP_PEACEWARMODE_WAR;
msg.dwObjectID = HEROID;
NETWORK->Send(&msg,sizeof(msg));
//KES CHARSTATEDLG 031016
// if(GAMEIN->GetCharStateDialog())
// GAMEIN->GetCharStateDialog()->SetPeaceWarMode( bPeace );
}
void CPeaceWarModeManager::Peace_WarMode(CPlayer* pPlayer, BOOL bPeace)
{
pPlayer->SetPeaceMode(bPeace?true:false);
if(bPeace) //ÆòÈ ¸ðµå
{
// ÀÚ¼¼¸¦ ¹Ù²Ù´Â ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
if(pPlayer->GetObjectKind() == eObjectKind_Player)
{
if( pPlayer->GetWeaponEquipType() == WP_GWUN ||
pPlayer->GetWeaponEquipType() == WP_AMGI )
APPEARANCEMGR->HideWeapon(pPlayer);
(pPlayer)->SetBaseMotion();
}
}
else //ÀüÅõ ¸ðµå
{
if(pPlayer->GetObjectKind() == eObjectKind_Player)
{
APPEARANCEMGR->ShowWeapon(pPlayer);
(pPlayer)->SetBaseMotion();
}
}
if(pPlayer->GetState() == eObjectState_None)
OBJECTSTATEMGR->EndObjectState(pPlayer,eObjectState_None);
}
BOOL CPeaceWarModeManager::IsPeaceMode(CPlayer* pPlayer)
{
return pPlayer->GetCharacterTotalInfo()->bPeace;
}
void CPeaceWarModeManager::NetworkMsgParse(BYTE Protocol,void* pMsg)
{
CPlayer* pObject;
MSGBASE* pmsg = (MSGBASE*)pMsg;
pObject = (CPlayer*)OBJECTMGR->GetObject(pmsg->dwObjectID);
ASSERT(pObject);
if(pObject==NULL)
return;
ASSERT(pObject->GetObjectKind() == eObjectKind_Player);
switch(Protocol)
{
case MP_PEACEWARMODE_PEACE:
{
Peace_WarMode(pObject,TRUE);
}
break;
case MP_PEACEWARMODE_WAR:
{
Peace_WarMode(pObject,FALSE);
}
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -