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); } }
private void HandleGraphMessage(SharedAiDebug.PathfindingGraphMessage message) { EnableOverlay(); _overlay.UpdateGraph(message.Graph); }