2025-09-25 19:04:05 +08:00
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using Convention;
|
|
|
|
|
using Dreamteck.Splines;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
namespace Demo.Game
|
|
|
|
|
{
|
|
|
|
|
public class SplineTrackRenderer : BasicSplineRenderer<SplineRenderer>
|
|
|
|
|
{
|
|
|
|
|
public static SplineTrackRenderer Make()
|
|
|
|
|
{
|
|
|
|
|
return new GameObject().AddComponent<SplineTrackRenderer>();
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-04 23:09:46 +08:00
|
|
|
public const bool DefaultIsAutoOrient = false;
|
|
|
|
|
[Content] public bool IsAutoOrient = DefaultIsAutoOrient;
|
|
|
|
|
|
|
|
|
|
public override IEnumerator LoadScript(string script)
|
|
|
|
|
{
|
|
|
|
|
MyLineMaterial = Resources.Load<Material>("Line/Default");
|
|
|
|
|
yield return base.LoadScript(script);
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-25 19:04:05 +08:00
|
|
|
public override void SetupMeshGenerator(SplineRenderer meshGenerater)
|
|
|
|
|
{
|
|
|
|
|
base.SetupMeshGenerator(meshGenerater);
|
2025-10-05 20:18:48 +08:00
|
|
|
meshGenerater.autoOrient = IsAutoOrient;
|
2025-10-04 23:09:46 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override IEnumerator UnloadScript()
|
|
|
|
|
{
|
|
|
|
|
yield return base.UnloadScript();
|
|
|
|
|
// Reset
|
|
|
|
|
{
|
|
|
|
|
IsAutoOrient = DefaultIsAutoOrient;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开启自动面向摄像机的功能
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ScriptableCall(@"开启自动面向摄像机的功能")]
|
|
|
|
|
public void EnableAutoOrient()
|
|
|
|
|
{
|
|
|
|
|
IsAutoOrient = true;
|
2025-09-25 19:04:05 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|