using UnityEngine; using System; namespace XED { [Serializable] public class TwoPointLine { private LineRenderer lineRenderer; private Color Color; public TwoPointLine(LineRenderer lineRenderer) { this.lineRenderer = lineRenderer; } public void LineRenderSetting(Material lineMat, float thickness) { Color = lineMat.color; lineRenderer.material = lineMat; lineRenderer.positionCount = 2; lineRenderer.startWidth = thickness; lineRenderer.endWidth = thickness; } public void RendererUpdate(Vector3 lcp, Vector3 rcp) { lineRenderer.SetPosition(0, lcp); lineRenderer.SetPosition(1, rcp); } public void Select() { var mpb = new MaterialPropertyBlock(); lineRenderer.GetPropertyBlock(mpb); mpb.SetColor("_BaseColor", Color.red); lineRenderer.SetPropertyBlock(mpb); } public void Deselect() { var mpb = new MaterialPropertyBlock(); lineRenderer.GetPropertyBlock(mpb); mpb.SetColor("_BaseColor", Color); lineRenderer.SetPropertyBlock(mpb); } public void SetActive(bool value) { if (lineRenderer == null) return; lineRenderer.enabled = value; } } }