rabidus-test/Assets/Amazing Assets/Advanced Dissolve/Example Scenes/Tutorial Scenes/Files/Scripts/CapsuleFromLineRenderer.cs

60 lines
1.9 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using AmazingAssets.AdvancedDissolve;
namespace AmazingAssets.AdvancedDissolve.ExampleScripts
{
[ExecuteAlways]
[RequireComponent(typeof(LineRenderer))]
public class CapsuleFromLineRenderer : MonoBehaviour
{
public AdvancedDissolveGeometricCutoutController geometricCutoutController;
public AdvancedDissolve.AdvancedDissolveKeywords.CutoutGeometricCount countID;
LineRenderer lineRenderer;
void Update()
{
if (geometricCutoutController != null)
{
if (lineRenderer == null)
lineRenderer = GetComponent<LineRenderer>();
if (lineRenderer.positionCount != 2)
lineRenderer.positionCount = 2;
if (geometricCutoutController.type == AdvancedDissolveKeywords.CutoutGeometricType.Capsule)
{
Vector3 p1, p2;
float radius;
geometricCutoutController.GetCapsuleData(countID, out p1, out p2, out radius);
lineRenderer.SetPosition(0, p1);
lineRenderer.SetPosition(1, p2);
lineRenderer.startWidth = radius * 2;
lineRenderer.endWidth = radius * 2;
}
else if (geometricCutoutController.type == AdvancedDissolveKeywords.CutoutGeometricType.ConeSmooth)
{
Vector3 p1, p2;
float radius;
geometricCutoutController.GetConeSmoothData(countID, out p1, out p2, out radius);
lineRenderer.SetPosition(0, p1);
lineRenderer.SetPosition(1, p2);
lineRenderer.startWidth = 0;
lineRenderer.endWidth = radius * 2;
}
}
}
}
}