gpt4 book ai didi

c# - Unity - 使用自定义检查器时是否可以访问 OnValidate()?

转载 作者:太空狗 更新时间:2023-10-29 20:36:16 27 4
gpt4 key购买 nike

我最近做了一个自定义检查器,我刚刚意识到当我在检查器中编辑变量时,我的 OnValidate() 没有被调用。关于如何在保留我使用的自定义检查器的同时再次将我的调用返回到 OnValidate() 的任何想法?

最佳答案

答案在序列化和属性字段中。

以我的代码为例,这里的第一部分只是说明在我的主脚本中我声明了这个。现在请记住,公共(public)变量已经序列化,因此无需放置它。

public class Original : MonoBehaviour {

// Used for the user to input their board section width and height.
[Tooltip("The desired Camera Width.")]
public float cameraWidth;
}

现在在我的自定义检查器中我有这个:

    pubilc class Original_Editor : Editor{
public override void OnInspectorGUI(){
serializedObject.Update();
// Get the camera width.
SerializedProperty width = serializedObject.FindProperty("cameraWidth");
// Set the layout.
EditorGUILayout.PropertyField(width);
// Clamp the desired values
width.floatValue = Mathf.Clamp((int)width.floatValue, 0, 9999);
// apply
serializedObject.ApplyModifiedProperties();
}
}

关于c# - Unity - 使用自定义检查器时是否可以访问 OnValidate()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32575754/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com