示例#1
0
        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;
        }
示例#2
0
 public static Particle Create(World world, ParticleInit init)
 {
     return(new Particle(world, init));
 }
示例#3
0
        public static Particle Create(World world, ParticleType type, CPos position, int height)
        {
            var init = new ParticleInit(type, position, height);

            return(new Particle(world, init));
        }