public void Execute(GameCmd.stNotifyUninterruptEventMagicUserCmd_CS cmd) { GameCmd.UninterruptActionType action = (UninterruptActionType)cmd.actiontype; if (action == UninterruptActionType.UninterruptActionType_SkillCJ) { ISkillPart skillPart = SkillHelper.GetSkillPart(cmd.desid, EntityType.EntityType_Player); if (skillPart == null) { Engine.Utility.Log.Error("获取技能部件失败!"); return; } skillPart.OnInterruptEventSkill((uint)cmd.etype); } else { if (cmd.etype == stNotifyUninterruptEventMagicUserCmd_CS.EventType.EventType_Break) { if (ClientGlobal.Instance().IsMainPlayer(cmd.desid) && action == UninterruptActionType.UninterruptActionType_CampCJ) { TipsManager.Instance.ShowTips("采集被打断了"); } Engine.Utility.EventEngine.Instance().DispatchEvent((int)GameEventID.SKILLGUIDE_PROGRESSBREAK, new stGuildBreak() { action = action, uid = cmd.desid, npcId = cmd.npcid }); } else if (cmd.etype == stNotifyUninterruptEventMagicUserCmd_CS.EventType.EventType_Over) { Engine.Utility.EventEngine.Instance().DispatchEvent((int)GameEventID.SKILLGUIDE_PROGRESSEND, new stGuildEnd() { action = action, uid = cmd.desid, npcId = cmd.npcid }); if (action == UninterruptActionType.UninterruptActionType_CampCJ) { Engine.Utility.EventEngine.Instance().DispatchEvent((int)GameEventID.CAMP_ADDCOLLECTNPC, new stCampCollectNpc() { enter = false }); } } } }