本文整理汇总了C#中UnityEditor.SerializedProperty.SetPropertyValue方法的典型用法代码示例。如果您正苦于以下问题:C# SerializedProperty.SetPropertyValue方法的具体用法?C# SerializedProperty.SetPropertyValue怎么用?C# SerializedProperty.SetPropertyValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UnityEditor.SerializedProperty
的用法示例。
在下文中一共展示了SerializedProperty.SetPropertyValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetButtonsData
static KeyValuePair<GUIContent, System.Action>[] GetButtonsData(PEPrefabScript prefabInstance, SerializedProperty prefabProperty, SerializedProperty instanceProperty)
{
var buttons = new KeyValuePair<GUIContent, System.Action>[] {
new KeyValuePair<GUIContent, System.Action>(new GUIContent("Revert", "Revert property to prefab value"), () =>
{
if (prefabProperty == null)
return;
if (instanceProperty.propertyType == SerializedPropertyType.ObjectReference)
{
var link = prefabInstance.GetDiffWith().Links[prefabProperty.objectReferenceValue];
if (link == null)
instanceProperty.SetPropertyValue(prefabProperty.GetPropertyValue());
else
{
var instanceLink = prefabInstance.Links[link];
if (instanceLink != null)
instanceProperty.SetPropertyValue(prefabInstance.Links[link].InstanceTarget);
else
{
if (PEPrefs.DebugLevel > 0)
Debug.Log("Link null");
instanceProperty.SetPropertyValue(prefabProperty.GetPropertyValue());
}
}
}
else
{
instanceProperty.SetPropertyValue(prefabProperty.GetPropertyValue());
}
instanceProperty.serializedObject.ApplyModifiedProperties();
}),
new KeyValuePair<GUIContent, System.Action>(new GUIContent("Update", "Update changes"), () => EditorApplication.delayCall += prefabInstance.BuildModifications),
};
return buttons;
}