private void StopRenderingSegment(PathVertexType type) { var lineRenderer = m_lineRendererByEffectType[type]; #if UNITY_5_5 lineRenderer.numPositions = 0; #else lineRenderer.positionCount = 0; #endif }
public static bool Contains( UInt64 PathExpressionData, int depth, PathVertexType tt ) { const uint mask = 7u; for (int i = 0, offs = 0; i < depth; i++, offs += 3) { var pt = (PathVertexType)((PathExpressionData >> offs) & mask); if (pt == tt) return true; } return false; }
public bool Get(PathVertexType type) { switch (type) { case PathVertexType.Source: return(SourceRendered); case PathVertexType.Receiver: return(ReceiverRendered); case PathVertexType.Reflection: return(ReflectionRendered); case PathVertexType.Scattering: return(ScatteringRendered); case PathVertexType.Transmission: return(TransmissionRendered); case PathVertexType.Diffraction: return(DiffractionRendered); default: SoundToolKitDebug.Assert(false, "This enum case is not handled"); return(SourceRendered); } }
private void RenderSegment(PathVertexType type) { var points = new List <Vector3>(); foreach (var path in m_soundPaths) { for (int i = 0; i < path.vertices.Count - 1; ++i) { if (path.vertices[i].Type == type) { points.Add(Vector3Extensions.ToUnityEngine(path.vertices[i].Position)); points.Add(Vector3Extensions.ToUnityEngine(path.vertices[i + 1].Position)); } } } if (points.Count > 1) { var lineRenderer = m_lineRendererByEffectType[type]; lineRenderer.material.color = SegmentsColors.Get(type); #if UNITY_5_5 lineRenderer.numPositions = points.Count; #else lineRenderer.positionCount = points.Count; #endif lineRenderer.startWidth = m_lineWidth; lineRenderer.endWidth = m_lineWidth; lineRenderer.SetPositions(points.ToArray()); } else { StopRenderingSegment(type); } }