private void InDropDownAutoHeight() { someObject.menu.AddItem(new GUIContent("dddd"), false, () => Debug.Log("!!!SDSAD") ); var btnRect = GUIHelper.GetCurrentLayoutRect(); OdinEditorWindow.InspectObjectInDropDown(this.someObject, btnRect, btnRect.width); }
private SectionResource DrawResource(SectionResource value, GUIContent label) { if (GUILayout.Button(value.ButtonName)) { OdinEditorWindow.InspectObjectInDropDown(value, GUIHelper.GetCurrentLayoutRect(), 370); } return(value); }
private void InDropDown() { var btnRect = GUIHelper.GetCurrentLayoutRect(); OdinEditorWindow.InspectObjectInDropDown(this.someObject, btnRect, new Vector2(btnRect.width, 100)); }
protected override void DrawPropertyLayout(GUIContent label) { if (!(this.ValueEntry.ValueState == PropertyValueState.NullReference || this.ValueEntry.ValueState == PropertyValueState.ReferenceValueConflict)) { this.CallNextDrawer(label); return; } if (Event.current.type == EventType.Layout) { this.isBroken = false; var count = this.ValueEntry.ValueCount; for (int i = 0; i < count; i++) { var component = this.ValueEntry.Values[i]; if (ComponentIsBroken(component, ref this.realWrapperInstance)) { this.isBroken = true; break; } } if (this.isBroken && autoFix) { this.isBroken = false; for (int i = 0; i < this.ValueEntry.ValueCount; i++) { T fixedComponent = null; if (ComponentIsBroken(this.ValueEntry.Values[i], ref fixedComponent) && fixedComponent) { (this.ValueEntry as IValueEntryActualValueSetter <T>).SetActualValue(i, fixedComponent); } } this.ValueEntry.Update(); } } if (!this.isBroken) { this.CallNextDrawer(label); return; } var rect = EditorGUILayout.GetControlRect(label != null); var btnRect = rect.AlignRight(20); var controlRect = rect.SetXMax(btnRect.xMin - 5); object newInstance = null; EditorGUI.BeginChangeCheck(); { if (this.ValueEntry.BaseValueType.IsInterface) { newInstance = SirenixEditorFields.PolymorphicObjectField(controlRect, label, this.realWrapperInstance, this.ValueEntry.BaseValueType, this.allowSceneViewObjects); } else { newInstance = SirenixEditorFields.UnityObjectField( controlRect, label, this.realWrapperInstance, this.ValueEntry.BaseValueType, this.allowSceneViewObjects) as Component; } } if (EditorGUI.EndChangeCheck()) { this.ValueEntry.WeakSmartValue = newInstance; } if (GUI.Button(btnRect, " ", EditorStyles.miniButton)) { var popup = new FixBrokenUnityObjectWrapperPopup(this.ValueEntry); OdinEditorWindow.InspectObjectInDropDown(popup, 300); } if (Event.current.type == EventType.Repaint) { GUI.DrawTexture(btnRect, EditorIcons.ConsoleWarnicon, ScaleMode.ScaleToFit); } }
private void InDropDownAutoHeight() { var btnRect = GUIHelper.GetCurrentLayoutRect(); OdinEditorWindow.InspectObjectInDropDown(this.someObject, btnRect, btnRect.width); }