public void PauseAllSkill(int actorId, bool pause)
        {
            GameObject obj = EntityController.Instance.GetGameObject(actorId);

            if (null == obj)
            {
                return;
            }
            int count = m_SkillLogicInfos.Count;

            for (int index = count - 1; index >= 0; --index)
            {
                SkillLogicInfo info = m_SkillLogicInfos[index];
                if (info != null)
                {
                    if (info.GfxObj == obj)
                    {
                        info.IsPaused = pause;

                        Trigers.EffectManager effectMgr = info.SkillInst.CustomDatas.GetData <Trigers.EffectManager>();
                        if (null != effectMgr)
                        {
                            effectMgr.PauseEffects(pause);
                        }
                    }
                }
            }
            EntityController.Instance.PauseSkillAnimation(actorId, pause);
        }
        public void PauseSkillWithGameObject(GameObject obj, int skillId, int seq, bool pause)
        {
            if (null != obj)
            {
                SkillLogicInfo logicInfo = FindSkillLogicInfo(obj, skillId, seq);
                if (null != logicInfo)
                {
                    logicInfo.IsPaused = pause;

                    Trigers.EffectManager effectMgr = logicInfo.SkillInst.CustomDatas.GetData <Trigers.EffectManager>();
                    if (null != effectMgr)
                    {
                        effectMgr.PauseEffects(pause);
                    }
                    EntityController.Instance.PauseSkillAnimation(obj, pause);
                }
            }
        }
        private void StopSkillInstance(SkillLogicInfo info, bool isInterrupt)
        {
            if (isInterrupt)
            {
                Trigers.EffectManager effectMgr = info.SkillInst.CustomDatas.GetData <Trigers.EffectManager>();
                if (null != effectMgr)
                {
                    effectMgr.StopEffects();
                }
                if (info.Sender.ConfigData.type == (int)SkillOrImpactType.Skill)
                {
                    EntityController.Instance.StopSkillAnimation(info.ActorId);
                }
            }

            //GameFramework.LogSystem.Debug("Skill {0} finished.", info.SkillId);
            EntityController.Instance.DeactivateSkill(info.ActorId, info.SkillId, info.Sender.Seq);
            RecycleSkillInstance(info.Info);
        }
        public void PauseSkill(int actorId, int skillId, int seq, bool pause)
        {
            GameObject obj = EntityController.Instance.GetGameObject(actorId);

            if (null != obj)
            {
                SkillLogicInfo logicInfo = m_SkillLogicInfos.Find(info => info.GfxObj == obj && info.SkillId == skillId && info.Seq == seq);
                if (null != logicInfo)
                {
                    logicInfo.IsPaused = pause;

                    Trigers.EffectManager effectMgr = logicInfo.SkillInst.CustomDatas.GetData <Trigers.EffectManager>();
                    if (null != effectMgr)
                    {
                        effectMgr.PauseEffects(pause);
                    }
                    EntityController.Instance.PauseSkillAnimation(actorId, pause);
                }
            }
        }