public ChangeDirrectionAfterMoveTileCompleteController( IMoveStepByStepController moveStepByStepController, IUnitGameObjectController unitGameObjectController) { _moveStepByStepController = moveStepByStepController; _unitGameObjectController = unitGameObjectController; }
public void Cancel_ShouldNotRiseMovePathComplete(int moveCompleteCalledCount) { // Arrange List <IntVector2> path = new List <IntVector2>(); path.Add(new IntVector2(0, 0)); path.Add(new IntVector2(1, 1)); path.Add(new IntVector2(2, 1)); path.Add(new IntVector2(3, 1)); int actualMoveCompleteCalledCount = 0; Mock.Arrange(() => _occupatedPossitionsMap.IsVacantPosition(Arg.IsAny <IntVector2>())) .Returns(true); _moveStepByStepController = CreateMoveStepByStepController(); _moveStepByStepController.MovePathComplete += () => actualMoveCompleteCalledCount++; // Act _moveStepByStepController.MoveTo(path); _moveStepByStepController.Cancel(); for (int i = 0; i < moveCompleteCalledCount; i++) { _unitGameObjectController.MoveTo(new IntVector2(0, 0)); } // Assert Assert.Equal(1, actualMoveCompleteCalledCount); }
public void MoveTo_AnyPath_ShouldRiseNextTileOccupied(List <IntVector2> path, IntVector2 occupiedPosition, bool NoWayToDestination) { // Arrange bool nextTileOccupiedCalled = false; bool nexNoWayToDestinationCalled = false; Mock.Arrange(() => _occupatedPossitionsMap.IsVacantPosition(Arg.IsAny <IntVector2>())) .Returns(true); Mock.Arrange(() => _occupatedPossitionsMap.IsVacantPosition(occupiedPosition)) .Returns(false); _moveStepByStepController = CreateMoveStepByStepController(); _moveStepByStepController.NextTileOccupied += i => nextTileOccupiedCalled = true; _moveStepByStepController.NoWayToDestination += i => nexNoWayToDestinationCalled = true; // Act _moveStepByStepController.MoveTo(path); // Assert if (NoWayToDestination) { Assert.True(nexNoWayToDestinationCalled); } else { Assert.True(nextTileOccupiedCalled); } }
public MoveConsideringOccupatedController( IOccupatedPossitionsMap occupatedPossitionsMap, IUnitGameObjectController unitGameObjectController, IPathGeneratorController pathGeneratorController, IMoveStepByStepController moveStepByStepController ) { _occupatedPossitionsMap = occupatedPossitionsMap; _moveStepByStepController = moveStepByStepController; _unitGameObjectController = unitGameObjectController; _pathGeneratorController = pathGeneratorController; SubscribeOnEvent(); }
public BaseActionController( IMoveStepByStepController moveStepByStepController, IApplyDamageController applyDamageController, IUnitGameObjectController unitGameObjectController, MoveConsideringOccupatedController moveConsideringOccupatedController, IPathGeneratorController pathGeneratorController) { _moveStepByStepController = moveStepByStepController; _unitGameObjectController = unitGameObjectController; _applyDamageController = applyDamageController; _pathGeneratorController = pathGeneratorController; _moveConsideringOccupatedController = moveConsideringOccupatedController; _pathGeneratorController.NoWayToDestination += NoWayToDestinationHandler; _moveStepByStepController.NoWayToDestination += NoWayToDestinationHandler; }
public void MoveTo_AnyPath_ShouldRiseMovePathComplete(List <IntVector2> path, int i1, int i2) { // Arrange bool movePathCompleteCalled = false; Mock.Arrange(() => _occupatedPossitionsMap.IsVacantPosition(Arg.IsAny <IntVector2>())) .Returns(true); _moveStepByStepController = CreateMoveStepByStepController(); _moveStepByStepController.MovePathComplete += () => movePathCompleteCalled = true; // Act _moveStepByStepController.MoveTo(path); // Assert Assert.True(movePathCompleteCalled); }