public void RegenerateSubGrids() { if (currentNavGrid) { _selectedSubGrid = SubGridGenerator.CreateSubGrids(currentNavGrid, NODE_RENDER_LIMIT); _selectedNode = NavGrid.NO_NODE; SceneView.RepaintAll(); } }
public void CreateSubGridAtSelection() { if (SelectedNode.Equals(NavGrid.NO_NODE)) { return; } Vector2Int point = _selectedNode; point.x = Mathf.Clamp(point.x - (_selectedSubGrid.Width / 2), 0, currentNavGrid.Width - 1); point.y = Mathf.Clamp(point.y - (_selectedSubGrid.Height / 2), 0, currentNavGrid.Height - 1); _selectedSubGrid = SubGridGenerator.CreateSubGridAtPoint(currentNavGrid, _selectedSubGrid, point, _NODE_RENDER_LIMIT); SceneView.RepaintAll(); }
//Fires when the active scene object changes private void OnSelectionChange() { currentNavGrid = FindSelectedNavGrid(); if (currentNavGrid) { SceneView.onSceneGUIDelegate -= OnSceneGUI; SceneView.onSceneGUIDelegate += OnSceneGUI; _selectedSubGrid = SubGridGenerator.CreateSubGrids(currentNavGrid, NODE_RENDER_LIMIT); } else { SceneView.onSceneGUIDelegate -= OnSceneGUI; } }