public Particle(World world, ParticleInit init) : base(init.Position, init.Type.GetRenderable()) { this.world = world; Type = init.Type; Height = init.Height; current = init.Convert("Duration", Type.Duration); dissolve = init.Convert("DissolveDuration", Type.DissolveDuration); velocity = init.Convert("Velocity", ParticleUtils.Variety(Type.RandomVelocity)); rotate_velocity = init.Convert("RotationVelocity", ParticleUtils.AngleVariety(Type.RandomRotation)); // Set invisible first and check later for visibility Visible = false; }
public static Particle Create(World world, ParticleInit init) { return(new Particle(world, init)); }
public static Particle Create(World world, ParticleType type, CPos position, int height) { var init = new ParticleInit(type, position, height); return(new Particle(world, init)); }