static private CallDelayed ( CallbackFunction function, float timeFromNow ) : void | ||
function | CallbackFunction | |
timeFromNow | float | |
return | void |
// Returns true if started renaming public bool BeginRename(string name, int userData, float delay) { if (m_IsRenaming) { return(false); } m_Name = name; m_OriginalName = name; m_UserData = userData; m_UserAcceptedRename = false; m_IsWaitingForDelay = delay > 0f; m_IsRenaming = true; m_EditFieldRect = new Rect(0, 0, 0, 0); m_ClientGUIView = GUIView.current; if (delay > 0f) { EditorApplication.CallDelayed(BeginRenameInternalCallback, delay); } else { BeginRenameInternalCallback(); } return(true); }
public bool BeginRename(string name, int userData, float delay) { if (EditorApplication.timeSinceStartup - this.s_RenameEndedTime < 0.2) { return(false); } if (this.m_IsRenaming) { Debug.Log("BeginRename fail: already renaming"); return(false); } this.m_Name = name; this.m_OriginalName = name; this.m_UserData = userData; this.m_UserAcceptedRename = false; this.m_IsWaitingForDelay = (delay > 0f); this.m_IsRenaming = true; this.m_EditFieldRect = new Rect(0f, 0f, 0f, 0f); this.m_ClientGUIView = GUIView.current; if (delay > 0f) { EditorApplication.CallDelayed(new EditorApplication.CallbackFunction(this.BeginRenameInternalCallback), delay); } else { this.BeginRenameInternalCallback(); } return(true); }
private void RestoreLockStateFromSerializedData() { if (m_Tracker == null) { return; } // try to retrieve all Objects from their stored instance ids in the list. // this is only used for non persistent objects (scene objects) if (m_InstanceIDsLockedBeforeSerialization.Count > 0) { for (int i = 0; i < m_InstanceIDsLockedBeforeSerialization.Count; i++) { Object instance = EditorUtility.InstanceIDToObject(m_InstanceIDsLockedBeforeSerialization[i]); //don't add null objects (i.e. if (instance) { m_ObjectsLockedBeforeSerialization.Add(instance); } } } for (int i = m_ObjectsLockedBeforeSerialization.Count - 1; i >= 0; i--) { if (m_ObjectsLockedBeforeSerialization[i] == null) { m_ObjectsLockedBeforeSerialization.RemoveAt(i); } } // set the tracker to the serialized list. if it contains nulls or is empty, the tracker won't lock // this fixes case 775007 m_Tracker.SetObjectsLockedByThisTracker(m_ObjectsLockedBeforeSerialization); // since this method likely got called during OnEnable, and rebuilding the tracker could call OnDisable on all Editors, // some of which might not have gotten their enable yet, the rebuilding needs to happen delayed in EditorApplication.update EditorApplication.CallDelayed(tracker.RebuildIfNecessary, 0f); }
internal static void UpdateWindowMenuListing() { EditorApplication.CallDelayed(EditorWindow.BuildWindowMenuListing); }
public static void CloseToolbarWindows() { // Make sure browser-side code finishes executing before we kill the window EditorApplication.CallDelayed(CloseToolbarWindowsImmediately, 1f); }
private void DelayCheckProgressUnresponsive() { EditorApplication.update -= CheckProgressUnresponsive; EditorApplication.CallDelayed(CheckProgressUnresponsive, 0.250); }
internal void SearchFieldGUI(float maxWidth) { Rect rect = GUILayoutUtility.GetRect(EditorGUILayout.kLabelFloatMaxW * 0.2f, maxWidth, EditorGUI.kSingleLineHeight, EditorGUI.kSingleLineHeight, EditorStyles.toolbarSearchFieldWithJump); if (Event.current.type == EventType.MouseDown && rect.Contains(Event.current.mousePosition)) { ClickedSearchField(); } GUI.SetNextControlName("SearchFilter"); if (m_FocusSearchField) { EditorGUI.FocusTextInControl("SearchFilter"); if (Event.current.type == EventType.Repaint) { m_FocusSearchField = false; } } int searchMode = (int)m_SearchMode; if (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Escape && GUI.GetNameOfFocusedControl() == "SearchFilter") { SetSearchFilter("", (SearchMode)searchMode, true, true); } string[] enumStrings = System.Enum.GetNames(m_HierarchyType == HierarchyType.GameObjects ? typeof(SearchModeHierarchyWindow) : typeof(SearchMode)); int searchFieldControlId = GUIUtility.GetControlID(s_SearchableEditorWindowSearchField, FocusType.Keyboard, rect); EditorGUI.BeginChangeCheck(); string searchFilter = EditorGUI.ToolbarSearchField( searchFieldControlId, rect, enumStrings, ref searchMode, m_SearchFilter, m_SyncSearch ? EditorStyles.toolbarSearchFieldWithJumpPopupSynced : EditorStyles.toolbarSearchFieldWithJumpPopup, m_SyncSearch ? EditorStyles.toolbarSearchFieldWithJumpSynced : EditorStyles.toolbarSearchFieldWithJump, string.IsNullOrEmpty(m_SearchFilter) ? EditorStyles.toolbarSearchFieldCancelButtonWithJumpEmpty : EditorStyles.toolbarSearchFieldCancelButtonWithJump); if (EditorGUI.EndChangeCheck()) { m_SearchMode = (SearchMode)searchMode; m_SearchStringDebounced = searchFilter; m_DeregisterDebounceCall?.Invoke(); m_DeregisterDebounceCall = EditorApplication.CallDelayed(SetSearchFilterDebounced, SearchUtils.debounceThresholdMs / 1000f); } m_HasSearchFilterFocus = GUIUtility.keyboardControl == searchFieldControlId; if (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Escape && m_SearchFilter != "" && GUIUtility.hotControl == 0) { m_SearchFilter = ""; SetSearchFilter("", (SearchMode)searchMode, true, true); Event.current.Use(); m_HasSearchFilterFocus = false; } if (m_HasSearchFilterFocus) { SearchService.SearchService.HandleSearchEvent(this, Event.current, m_SearchFilter); } SearchService.SearchService.DrawOpenSearchButton(this, m_SearchFilter); }
internal static void UpdateWindowMenuListing() { s_UpdateWindowMenuListingOff?.Invoke(); s_UpdateWindowMenuListingOff = EditorApplication.CallDelayed(BuildWindowMenuListing); }