54 lines
1.4 KiB
C#
54 lines
1.4 KiB
C#
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;
|
|
}
|
|
}
|
|
} |