示例#1
0
    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();
    }
示例#2
0
    public override bool Create(EffectCreateContext ctx)
    {
        if (base.Create(ctx) == false)
        {
            return(false);
        }

        m_damageValue = ctx.EffectValue;

        return(true);
    }
示例#3
0
    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);
    }
示例#4
0
    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);
    }