Files
Convention-Unity-Demo/Assets/Scripts/MoreMaterialUpdatement/BaseOnMaterialUpdatement.cs

45 lines
1.1 KiB
C#
Raw Normal View History

2025-09-25 19:04:05 +08:00
using System.Collections;
using System.Collections.Generic;
using Convention;
using UnityEngine;
namespace Demo.Game
{
public abstract class BaseOnMaterialUpdatement : Updatement<float>
{
public abstract string TargetFieldName { get; }
protected override float Lerp(float begin, float end, float t)
{
return Mathf.Lerp(begin, end, t);
}
[Content] public MeshRenderer TargetMeshRenderer;
protected override void UpdateData(float data)
{
if (TargetMeshRenderer != null)
TargetMeshRenderer.material.SetFloat(TargetFieldName, data);
}
/// <summary>
/// 绑定到允许的渲染器
/// </summary>
/// <param name="path">脚本位置</param>
[ScriptableCall(@"
<summary>
</summary>
<param name=""path""></param>
")]
public void Load(string path)
{
var so = FindWithPath(path, false);
if (so != null)
{
TargetMeshRenderer = so.GetComponent<MeshRenderer>();
}
}
}
}