コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
    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);
            }
        }
    }