protected override bool doAction()
        {
            Skill skillOrAttackById = base.unit.getSkillOrAttackById(this.skillKey.SkillID);

            if (skillOrAttackById == null)
            {
                return(false);
            }
            if (skillOrAttackById.IsGuide || this.interruptType == SkillInterruptType.Force || SkillUtility.IsBackHomeSkill(skillOrAttackById))
            {
                if (SkillUtility.IsBackHomeSkill(skillOrAttackById) && skillOrAttackById.IsInSkillCastIn)
                {
                    base.unit.jumpFont(JumpFontType.Interrupt, "回城打断!", null, false);
                }
                this.TryRemoveBornPowerObjSkillDataOnInterrupt(this.skillKey.SkillID);
                skillOrAttackById.Interrupt(true);
                if (base.unit.isPlayer)
                {
                    Singleton <SkillView> .Instance.ShowGuideBar(false, 1f, "回城");
                }
                return(true);
            }
            this.TryRemoveBornPowerObjSkillDataOnInterrupt(this.skillKey.SkillID);
            skillOrAttackById.Interrupt(false);
            return(false);
        }