Exemplo n.º 1
0
        public NavigationService(TilemapNavData navData)
        {
            NavRegionGenerationFunctions.InitialiseNavRegionsFromData(navData);

            _navigationTable = navData.NavigationTable;
            _navigationTable.Initialise();
        }
Exemplo n.º 2
0
        public void NavTable_Initialised_CorrectLookupForSameRegionTraversal()
        {
            var table = new NavTable(new List <NavRegion> {
                _regionA, _regionB
            });

            table.Initialise();

            var result = table.GetRegionRouteForPoints(_nodeAMin.Position, _nodeAMax.Position);

            Assert.AreEqual(1, result.Count);
            Assert.AreSame(_regionA, result[0]);
        }
Exemplo n.º 3
0
        public void NavTable_Initialised_NullForBadLookup()
        {
            _nodeAMin.NeighbourRefs = new[] { _nodeBMin };

            var table = new NavTable(new List <NavRegion> {
                _regionA, _regionB
            });

            table.Initialise();

            var result = table.GetRegionRouteForPoints(_nodeAMin.Position, _nodeBMin.Position);

            Assert.IsNull(table.GetRegionRouteForPoints(_nodeAMin.Position, _nodeCMin.Position));
        }
Exemplo n.º 4
0
        public void NavTable_Initialised_CorrectAdjacencyLookup()
        {
            _nodeAMin.NeighbourRefs = new[] { _nodeBMin };

            var table = new NavTable(new List <NavRegion> {
                _regionA, _regionB
            });

            table.Initialise();

            var result = table.GetRegionRouteForPoints(_nodeAMin.Position, _nodeBMin.Position);

            Assert.AreEqual(2, result.Count);
            Assert.AreSame(_regionA, result[0]);
            Assert.AreSame(_regionB, result[1]);
        }