equipment.cpp
来自「国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国」· C++ 代码 · 共 169 行
CPP
169 行
//--------------------------------------------------------------------------------------------------------
// File. Equipment.cpp
//--------------------------------------------------------------------------------------------------------
#include "StdAfx.h"
CEquipment::CEquipment(EQUIP_POS EquipPos)
{
m_EquipPos = EquipPos;
m_dwUseSelect= 0; // 2焊促 歹 奴 蔼阑 啊龙荐绰 绝促. 公扁狼 胶懦篮 醚3俺
m_dwSlot = 0;
m_pIcon = NULL;
}
CEquipment::~CEquipment()
{
int i;
for(i=0; i<m_cplistSkill.size(); i++)
{ SAFE_DELETE( m_cplistSkill[i] ); }
m_cplistSkill.clear();
SAFE_DELETE(m_pIcon);
}
bool CEquipment::Fire(bool bMyShoot)
{
return m_cplistSkill[m_dwUseSelect]->Fire(bMyShoot);
}
DWORD CEquipment::AddSkill(CProperty *pSkill)
{
if(pSkill == NULL) { return m_cplistSkill.size(); } // NULL捞搁 Size甫 府畔
if( m_cplistSkill.size() > 1)
{
CUtility::printf_Debug("\nAddSkill俊 胶懦捞 2俺 捞惑 甸绢吭澜!!!");
return 0;
}
m_cplistSkill.push_back(pSkill); // 府胶飘俊 淬绰促.
return m_cplistSkill.size(); // Size甫 府畔
}
void CEquipment::NextSkill()
{
/*EQUIPINFO *pEquipInfo = this->GetInfoEquip();
++m_dwUseSelect;
if( pEquipInfo->SkillNum <= m_dwUseSelect)
{
m_dwUseSelect = 0;
}*/
}
bool CEquipment::UpdateAnimation(DWORD Elapsed, bool bRun)
{
if( !bRun ) return false;
CMCParts *pPart = m_cplistSkill[m_dwUseSelect]->GetPart();
if(NULL != pPart) pPart->UpdateAnimation(Elapsed);
return true;
}
HRESULT CEquipment::CreateEquip(CModelManager *pModel, CItemManager *pManager, CEquipment **ppEquip,
DWORD dwIndex, WORD wSelectSkin, PLAYER Player)
{
if( pModel==NULL || pManager == NULL || ppEquip == NULL )
{ return E_FAIL; }
_WEAPON_DATA *pItem = (_WEAPON_DATA *)pManager->FindItem(dwIndex); // 秦寸 牢郸胶狼 酒捞袍 沥焊甫 掘绢 柯促.
if( pItem == NULL ){ return E_FAIL; }
//----------------------------------------------
// Animation 茫扁
char strAni[128] = {NULL,};
char strMCA[128] = {NULL,};
strcpy(&strAni[0], &pItem->sItemData.strModelPath[Player][0]);
strcpy(&strMCA[0], &pItem->sItemData.strModelPath[Player][0]);
DWORD Len = strlen(&strAni[0]);
if(Len == 0)
return E_FAIL;
strcpy(&strAni[Len-3],"cfg");
strcpy(&strMCA[Len-3],"mca");
//-------------------------------------------------------------------------//
// 葛胆 积己
//-------------------------------------------------------------------------//
pModel->AddModelEx( dwIndex,
&pItem->sItemData.strModelPath[Player][0],
&strMCA[0],
&pItem->sItemData.strSkinPath[Player][wSelectSkin][0],
&strAni[0],Player); // Slot阑 霖促
//-------------------------------------------------------------------------//
// 厘厚 积己
//-------------------------------------------------------------------------//
// 泅犁 捞 牢郸胶狼 酒捞袍捞 绢叼 困摹狼 厘厚牢啊? (个,促府,哭颊,坷弗颊,焊炼)
// 积己窍妨绰 酒捞袍捞 绢恫 厘厚 器瘤记阑 啊瘤绰瘤甫 魄喊茄促.
EQUIP_POS Equip_Pos;
if( (PRO_RIFLE <= pItem->sItemData.nSpecies) && (PRO_CANON >= pItem->sItemData.nSpecies) ) // 扼捞敲1 ~ 某稠 : 扼捞敲
{
Equip_Pos = EQUIP_RIFLE;
}
else if( PRO_SUBWEAPON == pItem->sItemData.nSpecies ) // 辑宏 傀迄 : 辑宏
{
Equip_Pos = EQUIP_SUB;
}
else if( PRO_PISTOL == pItem->sItemData.nSpecies) // 乔胶喷 : 乔胶喷
{
Equip_Pos = EQUIP_PISTOL;
}
*ppEquip = new CEquipment( Equip_Pos ); // 0~
// Iocn Loading
(*ppEquip)->m_pIcon = new SPRITE_TEXTURE;
if( FAILED( g_pDrawEx->LoadImageFile(&pItem->sItemData.strIconPath[0],(*ppEquip)->m_pIcon) ))
{ SAFE_DELETE( (*ppEquip)->m_pIcon ); }
CProperty *pPrope = NULL; // 关俊辑 傍烹利栏肺 静烙
if( pItem->nBulletStyle ) // 醚舅阑 静绰 赤籍捞搁
{
pModel->AddModelEx(-1,"data\\Game\\Character\\FirstMachine\\Bullet_default.MC4",NULL,NULL,NULL); //<- 醚舅烙矫
}
// 胶鸥老 积己~
/*enum ATTACK_STYLE //酒捞袍砒惑狼 傍拜盒幅
{
ATTACK_MELEE, //辟芭府 鸥拜(归捍)
ATTACK_SHORTRANGE, //辟芭府 荤拜(鸡扒)
ATTACK_MIDDLERANGE, //吝芭府 荤拜(家醚, 磊悼家醚, 扁包醚)
ATTACK_LONGRANGE, //盔芭府 荤拜(历拜醚)
ATTACK_LAUNCH, //遏柯 饶 惯荤(固荤老, 蜡档藕)
ATTACK_THROW, //捧么(荐幅藕, 楷阜藕)
};*/
switch( pItem->nStyle )
{
case ATTACK_MELEE: // 辟立傈
pPrope = new CAttack_Melee( pItem , pModel->FindModel(dwIndex,Player));
break;
case ATTACK_SHORTRANGE: // 鸡扒
pPrope = new CAttack_Longrange(pItem, pModel->FindModel(dwIndex,Player));
break;
case ATTACK_MIDDLERANGE: // 吝芭府 荤拜
pPrope = new CAttack_Longrange(pItem, pModel->FindModel(dwIndex,Player));
break;
case ATTACK_LONGRANGE: // 盔芭府
pPrope = new CAttack_Longrange(pItem, pModel->FindModel(dwIndex,Player));
break;
case ATTACK_LAUNCH: // 遏公扁.
pPrope = new CAttack_Missile(pItem , pModel->FindModel(dwIndex,Player), pModel->FindModel(-1));
break;
case ATTACK_THROW: // 咯扁 荐幅藕 客具窃 -_-
pPrope = new CAttack_Melee( pItem , pModel->FindModel(dwIndex,Player));
break;
}
(*ppEquip)->AddSkill(pPrope);
return S_OK;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?