public void Execute(GameCmd.stNotifyUninterruptMagicUserCmd_S cmd) { if (cmd.actiontype == UninterruptActionType.UninterruptActionType_SkillCJ) { ISkillPart skillPart = SkillHelper.GetSkillPart(cmd.userid, EntityType.EntityType_Player); if (skillPart == null) { Engine.Utility.Log.Error("获取主角技能部件失败!"); return; } Engine.Utility.EventEngine.Instance().DispatchEvent((int)GameEventID.SKILLGUIDE_PROGRESSBREAK, new stGuildBreak() { action = GameCmd.UninterruptActionType.UninterruptActionType_SkillCJ, uid = cmd.userid, skillid = skillPart.GetCurSkillDataBase().wdID }); TimerAxis.Instance().KillTimer(m_uReadSliderTimerID, this); skillPart.OnInterruptSkill(cmd.userid, cmd.time, cmd.type, (uint)cmd.actiontype); } else if (cmd.actiontype == UninterruptActionType.UninterruptActionType_GOHOME) { long id = EntitySystem.EntityHelper.MakeUID(EntityType.EntityType_Player, cmd.userid); IEntitySystem pEntitySystem = ClientGlobal.Instance().GetEntitySystem(); if (pEntitySystem != null) { IPlayer pPlayer = pEntitySystem.FindPlayer((uint)id); if (pPlayer != null) { if (pPlayer.IsMainPlayer()) { Client.stUninterruptMagic param = new Client.stUninterruptMagic(); param.time = cmd.time; param.type = cmd.actiontype; param.uid = id; param.npcId = cmd.npcid; EventEngine.Instance().DispatchEvent((int)GameEventID.SKILLGUIDE_PROGRESSSTART, param); } else { } } } } else { long id = EntitySystem.EntityHelper.MakeUID(EntityType.EntityType_Player, cmd.userid); Client.stUninterruptMagic param = new Client.stUninterruptMagic(); param.time = cmd.time; param.type = cmd.actiontype; param.uid = id; param.npcId = cmd.npcid; EventEngine.Instance().DispatchEvent((int)GameEventID.SKILLGUIDE_PROGRESSSTART, param); } }