private void GetCallers() { for (int i = 0; i < serializedObject.targetObjects.Length; i++) { callers[i] = FieldInfoHelper.GetObjectFromPath(pathToCaller, serializedObject.targetObjects[i]); } }
private void HandleOnItemSelected(int index, SerializedProperty list) { if (isSelectable) { inlineClassRenderer = null; SerializedProperty propertyToRender = list.GetArrayElementAtIndex(index); if (propertyToRender.propertyType == SerializedPropertyType.ObjectReference || propertyToRender.propertyType == SerializedPropertyType.Generic) { object listElement = FieldInfoHelper.GetObjectFromPath(propertyToRender.propertyPath, serializedObject.targetObject); if (listElement != null) { EntityInfo info = new EntityInfo(listElement.GetType(), serializedObject, propertyToRender.propertyPath); inlineClassRenderer = InspectorItemRenderer.CreateRenderer <InlineClassRenderer>(); inlineClassRenderer.InitializeFromEntityInfo(info); if (propertyToRender.propertyType == SerializedPropertyType.Generic) { inlineClassRenderer.FoldoutTitle = propertyToRender.displayName; } } } } }
private void CheckIfTargetNotNull() { if (Event.current.type == EventType.Repaint) { subtarget = FieldInfoHelper.GetObjectFromPath(entityInfo.propertyPath, serializedObject.targetObject); if (subtarget == null) { subtargetWasNull = true; } else if (subtarget != null && subtargetWasNull) { InitializeRenderers(); subtargetWasNull = false; } } }
protected override void InitializeRenderersList() { base.InitializeRenderersList(); subtarget = FieldInfoHelper.GetObjectFromPath(entityInfo.propertyPath, _serializedObject.targetObject); List <InspectorItemRenderer> fieldsRenderers = RendererFinder.GetListOfFields(subtarget, entityInfo.propertyPath); List <InspectorItemRenderer> methodsRenderers = RendererFinder.GetListOfMethods(subtarget); renderers = new List <InspectorItemRenderer>(); renderers.AddRange(fieldsRenderers); renderers.AddRange(methodsRenderers); InspectorItemRendererOrderComparer comparer = new InspectorItemRendererOrderComparer(groups, renderers); renderers.Sort(comparer); foreach (InspectorItemRenderer renderer in renderers) { renderer.serializedObject = _serializedObject; } }