Example #1
0
 private void GetCallers()
 {
     for (int i = 0; i < serializedObject.targetObjects.Length; i++)
     {
         callers[i] = FieldInfoHelper.GetObjectFromPath(pathToCaller, serializedObject.targetObjects[i]);
     }
 }
Example #2
0
        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;
                        }
                    }
                }
            }
        }
Example #3
0
 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;
         }
     }
 }
Example #4
0
        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;
            }
        }