public async Task SetUpAsync()
        {
            _map = await SquareMapFactory.CreateAsync(10);


            var playerMock = new Mock <IPlayer>();

            _player = playerMock.Object;


            var actorMock = new Mock <IActor>();

            actorMock.SetupGet(x => x.Node).Returns(() => _factActorNode);
            actorMock.Setup(x => x.MoveToNode(It.IsAny <IMapNode>()))
            .Callback <IMapNode>(node => _factActorNode = node);
            actorMock.SetupGet(x => x.Owner).Returns(_player);
            _actor = actorMock.Object;

            // Маршрут из 3-х точек
            var patrolRoute3PointsMock = new Mock <IPatrolRoute>();
            var route3Points           = new IMapNode[] {
                _map.Nodes.OfType <HexNode>().SelectBy(1, 1),
                _map.Nodes.OfType <HexNode>().SelectBy(5, 3),
                _map.Nodes.OfType <HexNode>().SelectBy(3, 5)
            };

            patrolRoute3PointsMock
            .SetupGet(x => x.Points)
            .Returns(route3Points);
            _patrolRoute3Points = patrolRoute3PointsMock.Object;

            // Маршрут из 2-х точек по диагонали комнаты
            var patrolRoute2DiagonalPointsMock = new Mock <IPatrolRoute>();
            var route2DiagonalPoints           = new IMapNode[] {
                _map.Nodes.OfType <HexNode>().SelectBy(0, 0),
                _map.Nodes.OfType <HexNode>().SelectBy(9, 9)
            };

            patrolRoute2DiagonalPointsMock
            .SetupGet(x => x.Points)
            .Returns(route2DiagonalPoints);
            _patrolRoute2DiagonalPoints = patrolRoute2DiagonalPointsMock.Object;


            var actors = new List <IActor> {
                _actor
            };
            var actorListMock = new Mock <IActorManager>();

            actorListMock.SetupGet(x => x.Items).Returns(actors);
            _actorList = actorListMock.Object;


            var decisionSourceMock = new Mock <IDecisionSource>();

            decisionSourceMock.Setup(x => x.SelectIdleDuration(It.IsAny <int>(), It.IsAny <int>()))
            .Returns(ExpectedIdleDuration);
            _decisionSource = decisionSourceMock.Object;
        }
Exemplo n.º 2
0
 public PatrolLogic(IActor actor,
                    IPatrolRoute patrolRoute,
                    ISectorMap map,
                    IActorManager actors,
                    IDecisionSource decisionSource,
                    ITacticalActUsageService actService) : base(actor, map, actors, decisionSource, actService)
 {
     _patrolRoute = patrolRoute;
 }
Exemplo n.º 3
0
 public PatrolLogic(IActor actor,
                    IPatrolRoute patrolRoute,
                    IMap map,
                    IActorManager actors,
                    IDecisionSource decisionSource,
                    ITacticalActUsageService actService)
 {
     _actor          = actor;
     _patrolRoute    = patrolRoute;
     _map            = map;
     _actorList      = actors;
     _decisionSource = decisionSource;
     _actService     = actService;
     _persuitCounter = PERSIUT_COUNTER;
 }