Esempio n. 1
0
    /// <summary>
    /// Stop the particles effect
    /// </summary>
    public void StopParticles(ParticlesType _type)
    {
        if (_type != null)
        {
            switch (_type)
            {
            case ParticlesType._destruction:
                Destruction.Stop();
                break;

            case ParticlesType._smallFire:
                SmallFire.Stop();
                break;

            case ParticlesType._bigFire:
                BigFire.Stop();
                break;

            case ParticlesType._smoke:
                Smoke.Stop();
                break;

            case ParticlesType._attackTorretta:
                if (AttackTorretta != null)
                {
                    AttackTorretta.Stop();
                }
                break;

            default:
                break;
            }
        }
    }
Esempio n. 2
0
 public BattleFieldAttackTileClass(Vector2Int pos, bool hasEffect, List <ScriptableObjectAttackEffect> effects, bool isEffectOnTile,
                                   ParticlesType tileParticlesID, float durationOnTile)
 {
     Pos             = pos;
     HasEffect       = hasEffect;
     Effects         = effects;
     IsEffectOnTile  = isEffectOnTile;
     TileParticlesID = tileParticlesID;
     DurationOnTile  = durationOnTile;
 }
Esempio n. 3
0
    public GameObject GetParticle(ParticlesType particle)
    {
        FiredParticle ps = ParticlesFired.Where(r => r.Particle == particle).FirstOrDefault();

        if (ps == null)
        {
            ps = new FiredParticle(Instantiate(ListOfParticles.Where(r => r.PSType == particle).First().PS), particle);
        }
        return(ps.PS);
    }
Esempio n. 4
0
    /// <summary>
    /// Play the Particles effect
    /// </summary>
    public void PlayParticles(ParticlesType _type)
    {
        switch (_type)
        {
        case ParticlesType._destruction:
            if (Destruction.isPlaying)
            {
                Destruction.Stop();
            }
            Destruction.Play();
            break;

        case ParticlesType._smallFire:
            if (SmallFire.isPlaying)
            {
                SmallFire.Stop();
            }
            SmallFire.Play();
            break;

        case ParticlesType._bigFire:
            if (BigFire.isPlaying)
            {
                BigFire.Stop();
            }
            BigFire.Play();
            break;

        case ParticlesType._smoke:
            if (Smoke.isPlaying)
            {
                Smoke.Stop();
            }
            Smoke.Play();
            break;

        case ParticlesType._attackTorretta:
            if (AttackTorretta != null)
            {
                if (AttackTorretta.isPlaying)
                {
                    AttackTorretta.Stop();
                }
                AttackTorretta.Play();
            }
            break;

        default:
            break;
        }
    }
Esempio n. 5
0
    private IEnumerator EffectCo(float duration, ParticlesType tileParticlesID)
    {
        ParticleGo = ParticleManagerScript.Instance.GetParticle(tileParticlesID);
        ParticleGo.transform.position = transform.position;
        ParticleGo.SetActive(true);
        float timer = 0;

        while (timer <= duration)
        {
            yield return(BattleManagerScript.Instance.PauseUntil());

            timer += Time.fixedDeltaTime;
        }
        Effect_Co = null;
        ParticleGo.SetActive(false);
    }
Esempio n. 6
0
    public void SetupEffect(List <ScriptableObjectAttackEffect> effect, float duration, ParticlesType tileParticlesID)
    {
        Effects = effect;
        if (Effect_Co != null)
        {
            ParticleGo.SetActive(false);
            StopCoroutine(Effect_Co);
        }

        Effect_Co = EffectCo(duration, tileParticlesID);

        StartCoroutine(Effect_Co);
    }
Esempio n. 7
0
 public FiredParticle(GameObject ps, ParticlesType particle)
 {
     PS       = ps;
     Particle = particle;
 }