本文整理汇总了C++中CMoveShape::AddCurSkillList方法的典型用法代码示例。如果您正苦于以下问题:C++ CMoveShape::AddCurSkillList方法的具体用法?C++ CMoveShape::AddCurSkillList怎么用?C++ CMoveShape::AddCurSkillList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMoveShape
的用法示例。
在下文中一共展示了CMoveShape::AddCurSkillList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnSkillMessage
//.........这里部分代码省略.........
if(ptagS)
{
UpdateHotKeyCoolDownEffect(lSkillID);
}
if(pMoveShape->GetType() == TYPE_PET)
{
CPet *pPet = (CPet*)pMoveShape;
//更新当前技能的开始冷却时间
tagPetSkillInfo *pSkill = pPet->GetPetSkillInfoByID(lSkillID);
if(pSkill)
pSkill->lRestorTimeLength = lRestoreTime;
pPet->SkillSuccReceived();
}
/***********************************************************************/
/* 赵航 fix */
//CSkillXml *m_pSkill = new CSkillXml();
/***********************************************************************/
ConcreteSkillComp* SkillCom = new ConcreteSkillComp();
//SkillCom的内存交给了CSkillXml的析构来管理
CSkillXml* pSkill = new ConcreteDecSkillXml(SkillCom);
CSkillListXml::tagSkill *pTagSkill = CSkillListXml::GetProperty(lSkillID);
if (pTagSkill && pTagSkill->dwSkillType == CSkillListXml::SKILLTYPE_PLAY) // 直接施放
{
// 引导类技能添加吟唱条显示时间
DWORD dwlev = pTagSkill->vectorLevels.size() >= (DWORD)lLevel? (DWORD)lLevel-1:((DWORD)pTagSkill->vectorLevels.size() - 1);
long lAiID = pTagSkill->vectorLevels[dwlev].dwSkillLevelAI;
if(pTagSkill->bIsLead)
pSkill->IntonateTime(lTime);
// 直接从开始阶段执行
if(pSkill->StepBegin(lSkillID, lLevel, lType, ID, lDestX, lDestY,fDir,vecType, vecID))
{
pSkill->SetSkillKey(lSkillKey);
pMoveShape->AddCurSkillList(lSkillKey,pSkill);
}
else
SAFE_DELETE(pSkill);
// 如果开始阶段成功就直接执行施放阶段
if(pSkill&&pSkill->StepRun(lSkillID, lLevel, lType, ID, lDestX, lDestY, fDir, vecType, vecID) == false)
{
//pSkill->SetIsDeleted(true);
pMoveShape->DeleteCurSkill(lSkillKey);
}
if(lType == TYPE_PLAYER )
{
if (GetGame()->GetMainPlayer()->GetExID()==ID)
{
GetGame()->GetGameControl()->SetControlAble(true);
GetGame()->GetGameControl()->SetMoveAble(true);
/***********************************************************************/
/* zhaohang fix */
/***********************************************************************/
// 引导类技能
if(pTagSkill->bIsLead)
GetGame()->GetMainPlayer()->SetIntonateSkillKey(lSkillKey);
else
GetGame()->GetMainPlayer()->SetIntonateSkillKey(0);
// 自动攻击累计发送次数清0
GetGame()->GetGameControl()->SetSendedUseSkillMsgCount(0);
if(g_bDebug)
{
Log4c::Trace(ROOT_MODULE,"直接使用技能,次数清0:%d,key:%d",lSkillID,lSkillKey);
}
}else if (lSkillID>=50000&&lSkillID<=50006)
{
if (lSkillID>=50000&&lSkillID<=50002)