Track Percent Point 和 Track Head Point 重构优化 Note基础 特效框架(Effect Submodule 和 Effect基础类),将用于“时间触发型特效容器”与“Note特效容器“
46 lines
1.6 KiB
C#
46 lines
1.6 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 Track track;
|
|
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;
|
|
Debug.Log(splineRenderer.clipFrom + " " + splineRenderer.clipTo);
|
|
this.splineRenderer.color = Color.white;
|
|
}
|
|
|
|
public override void InitialRefresh()
|
|
{
|
|
if (track.trackTimeSubmodule is TrackTimeSubmoduleMovable)
|
|
{
|
|
splineRenderer.clipFrom = 0;
|
|
splineRenderer.clipTo = 0;
|
|
}
|
|
}
|
|
}
|
|
} |