public override void OnInspectorGUI() { serializedObject.Update(); LevelLightmapData lightmapData = (LevelLightmapData)target; EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(lightingScenariosScenes, new GUIContent("Lighting Scenarios Scenes"), includeChildren: true); if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); lightingScenesNames.arraySize = lightingScenariosScenes.arraySize; for (int i = 0; i < lightingScenariosScenes.arraySize; i++) { lightingScenesNames.GetArrayElementAtIndex(i).stringValue = lightingScenariosScenes.GetArrayElementAtIndex(i).objectReferenceValue == null ? "" : lightingScenariosScenes.GetArrayElementAtIndex(i).objectReferenceValue.name; } serializedObject.ApplyModifiedProperties(); } EditorGUILayout.PropertyField(allowLoadingLightingScenes, allowLoading); EditorGUILayout.PropertyField(applyLightmapScaleAndOffset); serializedObject.ApplyModifiedProperties(); EditorGUILayout.Space(); for (int i = 0; i < lightmapData.lightingScenariosScenes.Count; i++) { EditorGUILayout.BeginHorizontal(); if (lightmapData.lightingScenariosScenes[i] != null) { EditorGUILayout.LabelField(lightmapData.lightingScenariosScenes[i].name.ToString(), EditorStyles.boldLabel); if (GUILayout.Button("Build ")) { if (UnityEditor.Lightmapping.giWorkflowMode != UnityEditor.Lightmapping.GIWorkflowMode.OnDemand) { Debug.LogError("ExtractLightmapData requires that you have baked you lightmaps and Auto mode is disabled."); } else { BuildLightingScenario(i, lightmapData); } } if (GUILayout.Button("Store ")) { lightmapData.StoreLightmapInfos(i); } if (GUILayout.Button("Load ")) { lightmapData.LoadLightingScenario(i); } } EditorGUILayout.EndHorizontal(); } }