44 lines
1.5 KiB
C#
44 lines
1.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Dreamteck.Splines;
|
|
using Unity.VisualScripting;
|
|
using UnityEngine;
|
|
|
|
namespace Ichni.RhythmGame
|
|
{
|
|
public class TrackRendererSubmodule : TrackSubmodule
|
|
{
|
|
public MeshGenerator meshGenerator;
|
|
public MeshRenderer meshRenderer;
|
|
public Material renderMaterial;
|
|
}
|
|
|
|
public class TrackRendererSubmoduleAutoOrient : TrackRendererSubmodule
|
|
{
|
|
public SplineRenderer splineRenderer;
|
|
|
|
public void NewInitialize(Track track, Material material = null)
|
|
{
|
|
this.track = track;
|
|
this.track.trackRendererSubmodule = this;
|
|
this.splineRenderer = track.AddComponent<SplineRenderer>();
|
|
this.meshRenderer = splineRenderer.GetComponent<MeshRenderer>();
|
|
this.meshGenerator = splineRenderer;
|
|
this.renderMaterial = material == null ? EditorManager.instance.basePrefabs.defaultTrackMaterial : material;
|
|
this.splineRenderer.spline = track.trackPathSubmodule.path;
|
|
this.splineRenderer.clipFrom = 0;
|
|
this.splineRenderer.clipTo = 1;
|
|
this.meshRenderer.material = renderMaterial;
|
|
this.splineRenderer.color = Color.white;
|
|
}
|
|
|
|
public override void InitialRefresh()
|
|
{
|
|
if (track.trackTimeSubmodule is TrackTimeSubmoduleMovable)
|
|
{
|
|
splineRenderer.clipFrom = 0;
|
|
splineRenderer.clipTo = 0;
|
|
}
|
|
}
|
|
}
|
|
} |