Beispiel #1
0
        public void Simple()
        {
            var unit = new SimpleMovableUnit(0);

            State.AddUnit(unit, new Vector2(0, 0));

            Engine.SetUnitRotation(unit, Math.PI);

            FullUpdate();

            Assert.AreEqual(Math.PI, unit.Rotation, 0.01);
        }
Beispiel #2
0
        public void RotationForMoving_Simple()
        {
            var unit  = new SimpleMovableUnit(0);
            var start = new Vector2(0, 0);
            var end   = new Vector2(10, 5);

            State.AddUnit(unit, start);
            var expected = Math.Acos(10 / GeometryMethods.GetDistance(start, end));

            Engine.SetUnitMovingTo(State, unit, end);
            FullUpdate();

            Assert.AreEqual(expected, unit.Rotation, 0.01);
        }
        public void Simple()
        {
            var unit = new SimpleMovableUnit(0);

            State.AddUnit(unit, new Vector2(0, 0));
            var start  = new Vector2(0, 0);
            var finish = new Vector2(100, 100);

            Engine.SetUnitMovingTo(State, unit, finish);
            var количествоЦиклов = 200; //(int) (GeometryMethods.GetDistance(start, finish) / unit.Speed) + 1;

            FullUpdate(количествоЦиклов);

            Assert.AreEqual(finish, State.GetUnit(0).Position);
        }
        public void OneBarrier()
        {
            var unit     = new SimpleMovableUnit(0);
            var building = new SimpleBuildingUnit(1);
            var start    = new Vector2(0, 0);

            State.AddUnit(unit, start);
            State.AddUnit(building, new Vector2(25, 25));
            var finish = new Vector2(100, 100);

            Engine.SetUnitMovingTo(State, unit, finish);
            var количествоЦиклов = (int)(GeometryMethods.GetDistance(start, finish) / unit.Speed) + 1;

            FullUpdate(количествоЦиклов);

            Assert.AreNotEqual(finish, State.GetUnit(0).Position);
        }