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); }
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); }