コード例 #1
0
    public void GenerateEffect(EffectSet set)
    {
        GameObject effect = GameObject.Instantiate <GameObject>(set.prefab);
        Vector3    pos    = (set.attachTo != null) ? set.attachTo.position : transform.position;
        Vector3    euler  = (set.attachTo != null && set.useLocalEulerOffset) ? set.attachTo.eulerAngles : transform.eulerAngles;

        effect.transform.position    = pos;
        effect.transform.position   += (set.attachTo != null)?set.attachTo.TransformVector(set.offset):set.offset;
        effect.transform.eulerAngles = euler + set.eulerOffset;
        GameObject.Destroy(effect, set.time);
    }
コード例 #2
0
    public void SetStaticEffectPosition(E_PARTICLE_STATIC_EFFECT eId, int nIndex, Vector3 vWorldPos)
    {
        if (m_dicStaticEffect.ContainsKey(eId) == false)
        {
            return;
        }

        EffectSet             cRes = m_dicStaticEffect[eId];
        List <ParticleSystem> listParticleSystem = cRes.m_listParticleSystem;

        listParticleSystem[nIndex].transform.position = vWorldPos;
    }
コード例 #3
0
    public void PlayInstantEffect(Vector3 vPos, E_PARTICLE_INSTANT_EFFECT eId)
    {
        EffectSet             cRes = m_dicEffect[eId];
        List <ParticleSystem> listParticleSystem = cRes.m_listParticleSystem;

        listParticleSystem[cRes.m_nIdx].transform.position = vPos;
        listParticleSystem[cRes.m_nIdx].Play();

        cRes.m_nIdx++;
        if (cRes.m_nIdx >= listParticleSystem.Count)
        {
            cRes.m_nIdx = 0;
        }
    }
コード例 #4
0
    public List <Effect> GetAllEffects()
    {
        List <Effect> results = new List <Effect>();

        for (int i = 0; i < effectTypes.Count; i++)
        {
            EffectSet holder = effectHolder.GetEffectSet(effectTypes[i]);

            if (holder != null)
            {
                results.AddRange(holder.effects);
            }
        }
        return(results);
    }
コード例 #5
0
        public ExtendItem Effect(params IEffect[] effects)
        {
            if (effects.Length == 1)
            {
                this.effect = effects[0];
            }
            else if (effects.Length > 1)
            {
                this.effect = EffectSet.Of(effects);
            }
            else
            {
                this.effect = null;
            }

            return(this);
        }
コード例 #6
0
 public virtual void EndFight(Deck d, EffectSet ef)
 {
 }
コード例 #7
0
 public virtual void StartFight(Deck d, EffectSet ef)
 {
 }
コード例 #8
0
 public virtual void CardPlayed(Card card, EffectSet ef, IEntity player, IEntity enemy)
 {
 }
コード例 #9
0
 public override void StartFight(Deck d, EffectSet relicEf)
 {
     relicEf.EnemyEffect.Status.Add(new StatusInstance(new Vulnerable(), 1));
 }
コード例 #10
0
 public override void CardPlayed(Card card, EffectSet ef, IEntity player, IEntity enemy)
 {
 }
コード例 #11
0
        public override void Apply(Fight f, Player player, IEnemy enemy, EffectSet ef)
        {
            var si = new StatusInstance(new Strength(), 2);

            ef.PlayerEffect.Status.Add(si);
        }
コード例 #12
0
 public abstract void Apply(Fight f, Player player, IEnemy enemy, EffectSet ef);
コード例 #13
0
    public void GenerateEffect(int index)
    {
        EffectSet set = effectList[index];

        GenerateEffect(set);
    }
コード例 #14
0
 private void ShrinkPool(EffectSet e)
 {
     e.Delete();
     _effectPool.Remove(e);
 }
コード例 #15
0
 public virtual void EndTurn(Player player, IEntity enemy, EffectSet ef)
 {
 }
コード例 #16
0
        public override void Apply(Fight fight, Player player, IEnemy enemy, EffectSet ef)
        {
            var si = new StatusInstance(new PlatedArmor(), 4);

            ef.PlayerEffect.Status.Add(si);
        }
コード例 #17
0
 public override void StartFight(Deck d, EffectSet ef)
 {
     ef.PlayerEffect.Status.Add(new StatusInstance(new Strength(), 1));
 }