コード例 #1
0
        public Ring(float Size, float Thickness, Color Colour)
        {
            this.Model = null;
            Vector3 Offset = new Vector3(0, 0, Size);
            Matrix  XForm  = Matrix.CreateRotationX(MathHelper.ToRadians(20));

            Particles.LightBall p;
            for (int i = 0; i < 18; i++)
            {
                p        = new MapEntities.Particles.LightBall(Colour, Thickness);
                p.Offset = Offset;
                Offset   = Vector3.Transform(Offset, XForm);
                this.Particles.Add(p);
            }
        }
コード例 #2
0
        public override void Apply(Actor Source, Actor Target, int Level)
        {
            MapEntities.Particles.LightBall ball = new MapEntities.Particles.LightBall(this.Colour, this.Size);
            MapEntities.ParticleGroup       g    = new MapEntities.ParticleGroup
            {
                Speed      = 15f,
                Position   = Source.Position + new Vector3(0, 0.9f, 0),
                WorldSpawn = Source.WorldSpawn,
                Gravity    = false,
                OnGround   = false
            };
            g.Model          = null;
            g.TTL            = this.GetDuration(Level) + 20;
            g.Expires        = true;
            g.Target         = Target;
            g.FizzleOnGround = true;
            g.FizzleOnTarget = true;
            g.Particles.Add(ball);

            Source.WorldSpawn.Entities.Add(g);
        }