本文整理汇总了C#中UnityEditor.SerializedProperty.DeleteCommand方法的典型用法代码示例。如果您正苦于以下问题:C# SerializedProperty.DeleteCommand方法的具体用法?C# SerializedProperty.DeleteCommand怎么用?C# SerializedProperty.DeleteCommand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UnityEditor.SerializedProperty
的用法示例。
在下文中一共展示了SerializedProperty.DeleteCommand方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: 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;
}
示例2: MessageInfoField
// ------------------------------------------------------------------
// Desc:
// ------------------------------------------------------------------
protected void MessageInfoField( string _label, SerializedProperty _infoProp )
{
++EditorGUI.indentLevel;
EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]);
// label
EditorGUILayout.LabelField(_label, GUILayout.Width(50));
// receiver
EditorGUILayout.PropertyField( _infoProp.FindPropertyRelative ( "receiver" ), new GUIContent(""), GUILayout.MaxWidth(150) );
// method
EditorGUIUtility.LookLikeControls ();
EditorGUILayout.PropertyField ( _infoProp.FindPropertyRelative ( "method" ), new GUIContent(""), new GUILayoutOption[] { GUILayout.MaxWidth(200), GUILayout.ExpandWidth(true) } );
EditorGUIUtility.LookLikeInspector ();
// remove button
Color oldBGColor = GUI.backgroundColor;
Color oldCTColor = GUI.contentColor;
GUI.backgroundColor = Color.red;
GUI.contentColor = Color.yellow;
if ( GUILayout.Button( "-", GUILayout.Width(20) ) )
_infoProp.DeleteCommand();
GUI.backgroundColor = oldBGColor;
GUI.contentColor = oldCTColor;
EditorGUILayout.EndHorizontal();
--EditorGUI.indentLevel;
}