本文整理汇总了C#中UnityEditor.SerializedProperty.DuplicateCommand方法的典型用法代码示例。如果您正苦于以下问题:C# SerializedProperty.DuplicateCommand方法的具体用法?C# SerializedProperty.DuplicateCommand怎么用?C# SerializedProperty.DuplicateCommand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UnityEditor.SerializedProperty
的用法示例。
在下文中一共展示了SerializedProperty.DuplicateCommand方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoPropertyFieldKeyboardHandling
private static void DoPropertyFieldKeyboardHandling(SerializedProperty property)
{
if (Event.current.type == EventType.ExecuteCommand || Event.current.type == EventType.ValidateCommand)
{
if (GUIUtility.keyboardControl == EditorGUIUtility.s_LastControlID && (Event.current.commandName == "Delete" || Event.current.commandName == "SoftDelete"))
{
if (Event.current.type == EventType.ExecuteCommand)
EditorGUI.s_PendingPropertyDelete = property.Copy();
Event.current.Use();
}
if (GUIUtility.keyboardControl == EditorGUIUtility.s_LastControlID && Event.current.commandName == "Duplicate")
{
if (Event.current.type == EventType.ExecuteCommand)
property.DuplicateCommand();
Event.current.Use();
}
}
EditorGUI.s_PendingPropertyKeyboardHandling = (SerializedProperty) null;
}
示例2: SinglePropertyField
//.........这里部分代码省略.........
}
int controlID3 = GetControlID(s_GenericField, FocusType.Keyboard, position);
EditorGUI.PrefixLabel(position, controlID3, label);
IL_326: ;
}
else
{
int controlID4 = GetControlID(s_FoldoutHash, FocusType.Passive, position);
EventType type = Event.current.type;
if (type != EventType.DragUpdated && type != EventType.DragPerform)
{
if (type == EventType.DragExited)
{
if (GUI.enabled)
{
HandleUtility.Repaint();
}
}
}
else
{
if (position.Contains(Event.current.mousePosition) && GUI.enabled)
{
Object[] objectReferences = DragAndDrop.objectReferences;
Object[] array = new Object[1];
bool flag2 = false;
Object[] array2 = objectReferences;
for (int i = 0; i < array2.Length; i++)
{
Object @object = array2[i];
array[0] = @object;
Object object2 = ValidateObjectFieldAssignment(array, null, property);
if (object2 != null)
{
DragAndDrop.visualMode = DragAndDropVisualMode.Copy;
if (Event.current.type == EventType.DragPerform)
{
property.AppendFoldoutPPtrValue(object2);
flag2 = true;
DragAndDrop.activeControlID = 0;
}
else
{
DragAndDrop.activeControlID = controlID4;
}
}
}
if (flag2)
{
GUI.changed = true;
DragAndDrop.AcceptDrag();
Event.current.Use();
}
}
}
flag = property.isExpanded;
if (lookLikeInspector)
{
int num = EditorStyles.foldout.padding.left - EditorStyles.label.padding.left;
position.x -= (float)num;
position.width += (float)num;
}
GUI.enabled &= property.editable;
GUIStyle style = (DragAndDrop.activeControlID != -10) ? EditorStyles.foldout : EditorStyles.foldoutPreDrop;
bool flag3 = EditorGUI.Foldout(position, flag, s_PropertyFieldTempContent, true, style);
if (flag3 != flag)
{
if (Event.current.alt)
{
SetExpandedRecurse(property, flag3);
}
else
{
property.isExpanded = flag3;
}
}
flag = flag3;
}
EditorGUI.EndProperty();
if (Event.current.type == EventType.ExecuteCommand || Event.current.type == EventType.ValidateCommand)
{
if (GUIUtility.keyboardControl == lastControlID && (Event.current.commandName == "Delete" || Event.current.commandName == "SoftDelete"))
{
if (Event.current.type == EventType.ExecuteCommand)
{
property.DeleteCommand();
}
Event.current.Use();
}
if (GUIUtility.keyboardControl == lastControlID && Event.current.commandName == "Duplicate")
{
if (Event.current.type == EventType.ExecuteCommand)
{
property.DuplicateCommand();
}
Event.current.Use();
}
}
return flag;
}