/// <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; } } }
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; }
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); }
/// <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; } }
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); }
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); }
public FiredParticle(GameObject ps, ParticlesType particle) { PS = ps; Particle = particle; }