Ejemplo n.º 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 EnableMode(PathfindingDebugMode tooltip)
        {
            _modes |= tooltip;
            if (_modes != 0)
            {
                EnableOverlay();
            }
            _overlay.Modes = _modes;

            if (tooltip == PathfindingDebugMode.Graph)
            {
                var systemMessage = new SharedAiDebug.RequestPathfindingGraphMessage();
                EntityManager.EntityNetManager.SendSystemNetworkMessage(systemMessage);
            }
        }
Ejemplo n.º 3
0
        private void EnableMode(PathfindingDebugMode tooltip)
        {
            _modes |= tooltip;
            if (_modes != 0)
            {
                EnableOverlay();
            }
            _overlay.Modes = _modes;

            if (tooltip == PathfindingDebugMode.Graph)
            {
                var systemMessage = new SharedAiDebug.RequestPathfindingGraphMessage();
                EntityManager.EntityNetManager.SendSystemNetworkMessage(systemMessage);
            }

            // TODO: Request region graph, although the client system messages didn't seem to be going through anymore
            // So need further investigation.
        }