public virtual void CreateSkillEffect(EffectCreateContext ctx) { SkillEffectType effectType = ctx.EffectType; switch (effectType) { case SkillEffectType.Damage: { m_effect = new EffectSDamage(); } break; default: { Debug.LogError("Skill::CreateSkillEffect Effect Type Not Implement!!!"); } break; } if (m_effect.Create(ctx) == false) { Debug.LogError("Skill::Create " + effectType + " Failed !!!"); } m_effect.Start(); }
public override bool Create(EffectCreateContext ctx) { if (base.Create(ctx) == false) { return(false); } m_damageValue = ctx.EffectValue; return(true); }
public virtual bool Create(EffectCreateContext ctx) { m_owner = GameMgr.Instance.m_entityMgr.Get(ctx.TargetUID); if (m_owner == null) { return(false); } m_effectType = ctx.EffectType; m_srcID = ctx.SrcUID; m_targetID = ctx.TargetUID; m_showID = ctx.ShowID; m_hitShowID = ctx.HitShowID; return(true); }
public override void OnExcuteEffect() { Entity target = GameMgr.Instance.m_entityMgr.Get(m_targeUID); if (target == null || target.IsDead()) { return; } EffectCreateContext ctx = new EffectCreateContext(); ctx.EffectType = SkillEffectType.Damage; ctx.SrcUID = m_owner.UID; ctx.TargetUID = m_targeUID; ctx.ShowID = (uint)m_skillData.fireEffID; ctx.HitShowID = (uint)m_skillData.hitEffID; ctx.EffectValue = m_skillData.Damage; CreateSkillEffect(ctx); }