ScrollPanelInspector.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. using UnityEditor;
  2. [CustomEditor(typeof(JC.ScrollPanel))]
  3. public class ScrollPanelInspector : Editor
  4. {
  5. private JC.ScrollPanel scrollPanel;
  6. private SerializedProperty initType,startIndex, spacing, openReceiveItemViewInfo, onReceiveItemViewInfo, prefabs;
  7. void OnEnable()
  8. {
  9. scrollPanel = target as JC.ScrollPanel;
  10. initType = serializedObject.FindProperty("initType");
  11. startIndex = serializedObject.FindProperty("startIndex");
  12. spacing = serializedObject.FindProperty("spacing");
  13. openReceiveItemViewInfo = serializedObject.FindProperty("openReceiveItemViewInfo");
  14. onReceiveItemViewInfo = serializedObject.FindProperty("onReceiveItemViewInfo");
  15. prefabs = serializedObject.FindProperty("prefabs");
  16. }
  17. public override void OnInspectorGUI()
  18. {
  19. serializedObject.Update();
  20. EditorGUILayout.PropertyField(initType);
  21. EditorGUILayout.PropertyField(startIndex);
  22. EditorGUILayout.PropertyField(spacing);
  23. EditorGUILayout.PropertyField(openReceiveItemViewInfo);
  24. if (scrollPanel.openReceiveItemViewInfo) {
  25. EditorGUILayout.PropertyField(onReceiveItemViewInfo);
  26. }
  27. EditorGUILayout.PropertyField(prefabs);
  28. serializedObject.ApplyModifiedProperties();
  29. PrefabUtility.RecordPrefabInstancePropertyModifications(scrollPanel);
  30. }
  31. }