Files
Convention-Unity-Demo/Assets/Scripts/MoreSpline/Updatement/BasicSplineJustFollow.cs
2025-12-16 17:54:51 +08:00

58 lines
1.6 KiB
C#

using System;
using System.Collections;
using System.IO;
using Convention;
using UnityEngine;
namespace Demo.Game
{
namespace ConfigType
{
public class BasicSplineJustFollowConfig : ScriptLoadableConfig
{
public int MySplineCore;
public override void Deserialize(BinaryReader reader)
{
MySplineCore = BinarySerializeUtility.ReadInt(reader);
base.Deserialize(reader);
}
public override void Serialize(BinaryWriter writer)
{
BinarySerializeUtility.WriteInt(writer, MySplineCore);
base.Serialize(writer);
}
}
}
public abstract class BasicSplineJustFollow : Updatement<float>, IDependOnSplineCore
{
public SplineCore MySplineCore { get; set; }
protected override float Lerp(float begin, float end, float t)
{
return Mathf.Lerp(begin, end, t);
}
protected override abstract void UpdateData(float data);
public override IEnumerator UnloadScript()
{
MySplineCore = null;
yield return base.UnloadScript();
}
/// <summary>
/// 新增
/// </summary>
/// <param name="time">插值时间</param>
/// <param name="value"></param>
/// <param name="curveType">可取值为30种缓动曲线</param>
[Convention.RScript.Variable.Attr.Method]
public void Add(float time, float value, MathExtension.EaseCurveType curveType)
{
ManualAddEntry(time, value, curveType);
}
}
}