//TODO change particle color with sound or other inputs. /// <summary> /// /// </summary> /// <param name="p"></param> /// <param name="pColor"></param> public void ChangeParticleColor(ParticleComponent_cl p, Color pColor) { foreach (Emitter e in p.particle) { e.ReleaseColour = pColor.ToVector3(); } }
/// <summary> /// /// </summary> /// <param name="p"></param> public void KillParticles(ParticleComponent_cl p) { foreach (Emitter e in p.particle) { e.Terminate(); } }
/// <summary> /// /// </summary> /// <param name="p"></param> /// <returns></returns> public long RegisterNewParty(ParticleComponent_cl p) { mPartyList.Add(p); return mUniqueID++; }
/// <summary> /// /// </summary> /// <param name="name"></param> /// <param name="location"></param> public Entity_cl CreateNewParticle(string name, Vector2 location) { Entity_cl entity = new Entity_cl(); ParticleLocation = location; ParticleComponent_cl partyEffect; partyEffect = new ParticleComponent_cl(entity,ParticleLocation); partyEffect.particle = FNA.Game_cl.BaseInstance.Content.Load<ParticleEffect>((name)).DeepCopy(); partyEffect.particle.LoadContent(FNA.Game_cl.BaseInstance.Content); partyEffect.particle.Initialise(); RegisterNewParty(partyEffect); return entity; }
/// <summary> /// /// </summary> /// <param name="p"></param> /// <param name="number"></param> public void ChangeParticleSpeed(ParticleComponent_cl p, int number) { foreach (Emitter e in p.particle) { e.ReleaseSpeed = number; } }
/// <summary> /// /// </summary> /// <param name="p"></param> /// <param name="number"></param> public void ChangeParticleScale(ParticleComponent_cl p,VariableFloat number) { foreach (Emitter e in p.particle) { e.ReleaseScale = number; } }
/// <summary> /// /// </summary> /// <param name="p"></param> /// <param name="number"></param> public void ChangeParticleNumber(ParticleComponent_cl p, int number) { foreach (Emitter e in p.particle) { e.ReleaseQuantity = number; } }
// Use for wind /// <summary> /// /// </summary> /// <param name="p"></param> /// <param name="num1"></param> /// <param name="num2"></param> public void ChangeParticleImpulse(ParticleComponent_cl p, float num1, float num2) { foreach (Emitter e in p.particle) { e.ReleaseImpulse = new Vector2(num1, num2); } }