private void RevealUnitVicinity(Topology.Face face) { _faceSeenStates[face] = true; _faceSightCounts[face] += 1; _dynamicMesh.RebuildFace(face, _faceTriangulation); TopologyVisitor.VisitFacesInBreadthFirstOrder(face, (FaceVisitor visitor) => { _faceSeenStates[visitor.face] = true; if (visitor.depth <= fullSightDistance) { _faceSightCounts[visitor.face] += 1; } _dynamicMesh.RebuildFace(visitor.face, _faceTriangulation); if (visitor.depth < limitedSightDistance) { visitor.VisitAllNeighbors(); } }); }
private void ClearPreviousPickState() { if (_startFace) { if (_path == null || _path.Count == 0) { _dynamicMesh.RebuildFace(_startFace, _triangulationNormal); } else { foreach (var face in _path.AsFacePath()) { _dynamicMesh.RebuildFace(face, _triangulationNormal); } } } }
private void Select(Topology.Face face) { _dynamicMesh.RebuildFace(face, _selectedFaceTriangulation); _dynamicMesh.RebuildMesh(DynamicMesh.VertexAttributes.Normal | DynamicMesh.VertexAttributes.UV); }