Files
Studio/Assets/Scripts/XED/Building/TwoPointLine.cs
2025-02-19 17:24:26 +09:00

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;
}
}
}