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(); } } }