Delayed Property Attribute:此特性會延遲在editor中的序列化操作
即時性(非延遲)序列化
[OnValueChanged("ValueChangeCallBack")]
public int field;
//但是,正如名稱所示,DelayedProperty應用于屬性。
[ShowInInspector]
[OnValueChanged("ValueChangeCallBack")]
public string property { get; set; }
延遲序列化
// 延遲和延遲屬性實際上是相同的
[Delayed]
[OnValueChanged ("ValueChangeCallBack")]
public int delayedField;
//但是,正如名稱所示,DelayedProperty應用于屬性。
[ShowInInspector, DelayedProperty]
[OnValueChanged("ValueChangeCallBack")]
public string delayedProperty { get; set; }
public void ValueChangeCallBack()
{
Debug.Log("數(shù)值有變化");
}
完整示例代碼
using Sirenix.OdinInspector;
using UnityEngine;
public class DelayedPropertyExample : MonoBehaviour
{
[OnValueChanged("ValueChangeCallBack")]
public int field;
[ShowInInspector]
[OnValueChanged("ValueChangeCallBack")]
public string property { get; set; }
// 延遲和延遲屬性實際上是相同的
[Delayed]
[OnValueChanged ("ValueChangeCallBack")]
public int delayedField;
//但是,正如名稱所示,DelayedProperty應用于屬性。
[ShowInInspector, DelayedProperty]
[OnValueChanged("ValueChangeCallBack")]
public string delayedProperty { get; set; }
public void ValueChangeCallBack()
{
Debug.Log("數(shù)值有變化");
}
}