예제 #1
0
        public void UpdateWithWrapAround()
        {
            var ps = new ParticleSystem();
              var pv = ps.Parameters.AddVarying<int>("V");

              var e = new MyEffector { ParticleSystem = ps };

              e.UpdateParticles(new TimeSpan(1), 90, 20);

              for (int i = 0; i < ps.MaxNumberOfParticles; i++)
              {
            if (i < 10 || i >= 90)
              Assert.AreEqual(99, pv.Values[i]);
            else
              Assert.AreEqual(0, pv.Values[i]);
              }
        }
예제 #2
0
        public void InitializeWithWrapAround()
        {
            var ps = new ParticleSystem();
              var pv = ps.Parameters.AddVarying<int>("V");

              var e = new MyEffector { ParticleSystem = ps };

              e.InitializeParticles(90, 20, null);

              for (int i = 0; i < ps.MaxNumberOfParticles; i++)
              {
            if (i < 10 || i >= 90)
              Assert.AreEqual(77, pv.Values[i]);
            else
              Assert.AreEqual(0, pv.Values[i]);
              }
        }
예제 #3
0
        public void UpdateWithoutWrapAround()
        {
            var ps = new ParticleSystem();
            var pv = ps.Parameters.AddVarying <int>("V");

            var e = new MyEffector {
                ParticleSystem = ps
            };

            e.UpdateParticles(new TimeSpan(1), 10, 20);

            for (int i = 0; i < ps.MaxNumberOfParticles; i++)
            {
                if (i >= 10 && i < 30)
                {
                    Assert.AreEqual(99, pv.Values[i]);
                }
                else
                {
                    Assert.AreEqual(0, pv.Values[i]);
                }
            }
        }
예제 #4
0
        public void InitializeWithWrapAround()
        {
            var ps = new ParticleSystem();
            var pv = ps.Parameters.AddVarying <int>("V");

            var e = new MyEffector {
                ParticleSystem = ps
            };

            e.InitializeParticles(90, 20, null);

            for (int i = 0; i < ps.MaxNumberOfParticles; i++)
            {
                if (i < 10 || i >= 90)
                {
                    Assert.AreEqual(77, pv.Values[i]);
                }
                else
                {
                    Assert.AreEqual(0, pv.Values[i]);
                }
            }
        }