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); } } }