private void OnTick()
 {
     foreach (var asteroid in _asteroids)
     {
         asteroid.Tick();
         WrapBounds2DSystem.ProcessMove(asteroid, _spaceBounds);
     }
 }
Example #2
0
            public void wrapXPosition_does_not_wrap_when_at_bounds()
            {
                var startPosition = new Vector3(_worldBounds.max.x + halfSize, 0f, 0f);

                _wrapper.Position.Returns(startPosition);
                var result = WrapBounds2DSystem.WrapXPosition(_wrapper, _worldBounds);

                Assert.AreEqual(startPosition.x, result);
            }
Example #3
0
            public void wraps_negative_x_and_y()
            {
                var startPosition = new Vector3(_worldBounds.min.x - halfSize - 1f, _worldBounds.min.y - halfSize - 1f, 0f);
                var endPosition   = new Vector3(_worldBounds.max.x + halfSize - 1f, _worldBounds.max.y + halfSize - 1f, 0f);

                _wrapper.Position.Returns(startPosition);
                WrapBounds2DSystem.ProcessMove(_wrapper, _worldBounds);
                _wrapper.Received().WrapTo(endPosition);
            }
Example #4
0
            public void wrapXPosition_does_wrap_by_1_when_over_bounds_by_1()
            {
                var startPosition = new Vector3(_worldBounds.max.x + halfSize + 1f, 0f, 0f);
                var endPosition   = new Vector3(_worldBounds.min.x - halfSize + 1f, 0f, 0f);

                _wrapper.Position.Returns(startPosition);
                var result = WrapBounds2DSystem.WrapXPosition(_wrapper, _worldBounds);

                Assert.AreEqual(endPosition.x, result);
            }
 private void OnTick()
 {
     for (int i = _bullets.Count - 1; i >= 0; i--)
     {
         _bullets[i].Tick(); // NOTE: Inconsistent updating
         WrapBounds2DSystem.ProcessMove(_bullets[i], _spaceBounds);
         if (!_bullets[i].Active)
         {
             _bullets.RemoveAt(i);
         }
     }
 }
            public void asteroid_wraps_position_when_traveling_positive_on_y()
            {
                var      endPosition = new Vector3(0, -_halfWorldPlusAsteroidSize + 1f, 0);
                Asteroid asteroid    = An.Asteroid.
                                       WithPosition(new Vector3(0, _halfWorldPlusAsteroidSize, 0)).
                                       WithVelocity(new Vector3(0, _velocityMagnitude, 0)).
                                       WithSize(_asteroidSize, _asteroidSize);

                AdvanceOneSecondAndUpdate();

                WrapBounds2DSystem.ProcessMove(asteroid, _worldBounds);
                var distance = Vector3.Distance(endPosition, asteroid.Position);

                Assert.AreEqual(0f, distance, _distanceTolerance);
            }
Example #7
0
            public void wrap_value_min_negative_5_max_5_current_negative_6_returns_4()
            {
                var result = WrapBounds2DSystem.WrapValue(-5f, 5f, -6f);

                Assert.AreEqual(4f, result, _tolerance);
            }
Example #8
0
            public void wrap_value_min_0_max_5_current_6_returns_1()
            {
                var result = WrapBounds2DSystem.WrapValue(0f, 5f, 6f);

                Assert.AreEqual(1f, result, _tolerance);
            }
Example #9
0
 private void Update()
 {
     _ship.Tick();
     _heading = _ship.Heading;
     WrapBounds2DSystem.ProcessMove(_ship as IWrapInBounds, _bounds);
 }