//buff 开始执行 public virtual void BuffStart() { if (!string.IsNullOrEmpty(buffInfo.EffectName)) { effect = EffectManager.Instance.GetEffect(buffInfo.EffectName); effect.duration = buffInfo.KeepTime; if (effect != null) { Transform bone = buffOwner.GetBone(buffInfo.BindBone); if (bone != null) { effect.Bind(bone); } } } }
void PlayEffect(uint skillID, List <Entity> targets = null) { CSVSkill skillInfo = CSVManager.GetSkillCfg(skillID); if (string.IsNullOrEmpty(skillInfo.castEffect)) { return; } EffectEntity effect = EffectManager.Instance.GetEffect(skillInfo.castEffect); effect.Init(eDestroyType.Time, skillInfo.castEffectDuration); //特效绑定的骨骼 if (!string.IsNullOrEmpty(skillInfo.castEffectBindBone)) { Transform bone = null; if (skillInfo.castEffectBindBone.CompareTo("self") == 0) { bone = m_object.transform; } else { bone = m_entity.GetBone(skillInfo.castEffectBindBone); } if (bone != null) { effect.Bind(bone); } } //如果特效没有绑定位置,则默认位置为释放者的位置 else { effect.Pos = m_entity.Pos; effect.Forward = m_entity.Forward; } }