private void OnAiRemoveImpact(EntityInfo npc, int impactId) { Scene scene = npc.SceneContext.CustomData as Scene; if (null != scene) { ImpactInfo impactInfo = npc.GetSkillStateInfo().FindImpactInfoById(impactId); if (null != impactInfo) { Msg_RC_RemoveImpact removeImpactBuilder = new Msg_RC_RemoveImpact(); removeImpactBuilder.obj_id = npc.GetId(); removeImpactBuilder.impact_id = impactId; scene.NotifyAllUser(RoomMessageDefine.Msg_RC_RemoveImpact, removeImpactBuilder); scene.SkillSystem.StopSkill(npc.GetId(), impactId, impactInfo.Seq, false); } } }
internal static void Execute(object msg, NetConnection conn) { Msg_RC_RemoveImpact _msg = msg as Msg_RC_RemoveImpact; if (null == _msg) { return; } int impactId = _msg.impact_id; EntityInfo obj = PluginFramework.Instance.GetEntityById(_msg.obj_id); if (null != obj) { ImpactInfo impactInfo = obj.GetSkillStateInfo().FindImpactInfoById(impactId); if (null != impactInfo) { GfxSkillSystem.Instance.StopSkill(obj.GetId(), impactId, impactInfo.Seq, false); } } }