using System.Collections; using System.Collections.Generic; using Convention; using UnityEngine; namespace Demo.Game { public abstract class BaseOnMaterialUpdatement : Updatement { 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); } /// /// 绑定到允许的渲染器 /// /// 脚本位置 [ScriptableCall(@" 绑定到允许的渲染器 脚本位置 ")] public void Load(string path) { var so = FindWithPath(path, false); if (so != null) { TargetMeshRenderer = so.GetComponent(); } } } }