示例#1
0
        private void DispatchGraph(SharedAiDebug.RequestPathfindingGraphMessage message)
        {
            var pathfindingSystem = EntitySystemManager.GetEntitySystem <PathfindingSystem>();
            var mapManager        = IoCManager.Resolve <IMapManager>();
            var result            = new Dictionary <int, List <Vector2> >();

            var idx = 0;

            foreach (var(gridId, chunks) in pathfindingSystem.Graph)
            {
                var gridManager = mapManager.GetGrid(gridId);

                foreach (var chunk in chunks.Values)
                {
                    var nodes = new List <Vector2>();
                    foreach (var node in chunk.Nodes)
                    {
                        var worldTile = gridManager.GridTileToWorldPos(node.TileRef.GridIndices);

                        nodes.Add(worldTile);
                    }

                    result.Add(idx, nodes);
                    idx++;
                }
            }

            var systemMessage = new SharedAiDebug.PathfindingGraphMessage(result);

            EntityManager.EntityNetManager.SendSystemNetworkMessage(systemMessage);
        }
 private void HandleGraphMessage(SharedAiDebug.PathfindingGraphMessage message)
 {
     if ((_modes & PathfindingDebugMode.Graph) != 0)
     {
         _overlay.UpdateGraph(message.Graph);
     }
 }
示例#3
0
 private void HandleGraphMessage(SharedAiDebug.PathfindingGraphMessage message)
 {
     EnableOverlay();
     _overlay.UpdateGraph(message.Graph);
 }