65 lines
2.1 KiB
C#
65 lines
2.1 KiB
C#
using BrewMonster.Network;
|
|
using BrewMonster.Scripts.Skills;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using static BrewMonster.SkillArrayWrapper;
|
|
|
|
namespace BrewMonster
|
|
{
|
|
public class CECSCSkill : CECShortcut
|
|
{
|
|
CECSkill m_pSkill;
|
|
public CECSCSkill() : base()
|
|
{
|
|
m_iSCType = (int)ShortcutType. SCT_SKILL;
|
|
}
|
|
public bool Init(CECSkill pSkill)
|
|
{
|
|
m_pSkill = pSkill;
|
|
return true;
|
|
}
|
|
public override bool Execute()
|
|
{
|
|
if (ReferenceEquals(m_pSkill, null))
|
|
return false;
|
|
|
|
CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer();
|
|
|
|
if (ElementSkill.IsGoblinSkill((uint)m_pSkill.GetSkillID()))
|
|
{
|
|
/*int idSelected = pHost.GetSelectedTarget();
|
|
bool bForctAttack = glb_GetForceAttackFlag(NULL);
|
|
CECHostGoblin* pHostGoblin = (CECHostGoblin*)pHost->GetGoblinModel();
|
|
int i;
|
|
for (i = 0; i < pHostGoblin->GetSkillNum(); i++)
|
|
{
|
|
if (m_pSkill == pHostGoblin->GetSkill(i))
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
if (i < pHostGoblin->GetSkillNum())
|
|
{
|
|
pHostGoblin->CastSkill(i, idSelected, bForctAttack);
|
|
}*/
|
|
}
|
|
else
|
|
{
|
|
// Æï³Ëʱ£¬Òª·Å¼¼ÄÜ, Ö´ÐÐ action switcher£¬·ñÔò ApplySkillShortcut
|
|
if (pHost.GetActionSwitcher() == null || !pHost.GetActionSwitcher().OnRideToSkillAction(m_pSkill.GetSkillID(), false, 0, -1))
|
|
{
|
|
pHost.ApplySkillShortcut(m_pSkill.GetSkillID());
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
public CECSkill GetSkill() { return m_pSkill; }
|
|
public void SetSkill(CECSkill pSkill) { m_pSkill = pSkill; }
|
|
public override string GetDesc() { return m_pSkill.GetSkillID().ToString(); }
|
|
|
|
}
|
|
}
|