protected void DrawProjectSettings() { EditorGUILayout.LabelField("Project Settings", EditorStyles.boldLabel, GUILayout.Height(16f)); try { GUILayout.BeginVertical(EditorHelper.Box); // Use the "Climb" layer at index 9 to test if the default layers have been set up. if (!LayersSetupHelper.LayerExistsAt("Climb", DefaultLayers.Climb)) { EditorHelper.DrawInspectorDescription("The default Motion Controller layers have not been set up.", MessageType.Warning); } EditorGUILayout.PropertyField(FindProperty(x => x.SetProjectLayers)); if (SetProjectLayers) { EditorGUI.indentLevel++; EditorGUILayout.PropertyField(FindProperty(x => x.OverwriteExistingLayers), new GUIContent("Overwrite Existing")); EditorGUI.indentLevel--; GUILayout.Space(5f); mLayerDefinitionsList.DoLayoutList(); } } finally { GUILayout.EndVertical(); EditorGUILayout.Separator(); } }
protected void SetLayers() { for (int i = 0; i < mLayerDefinitionSetsProperty.arraySize; i++) { SerializedProperty lCurrentSet = mLayerDefinitionSetsProperty.GetArrayElementAtIndex(i); if (lCurrentSet == null) { continue; } LayerDefinitionSet lDefinitionSet = (LayerDefinitionSet)lCurrentSet.objectReferenceValue; if (lDefinitionSet == null) { continue; } LayersSetupHelper.AddLayers(lDefinitionSet, OverwriteExistingLayers); } }
/// <summary> /// Draw the project-wide settings UI (Layers, etc) /// </summary> private void DrawProjectSettings() { if (LayersSetupHelper.AreDefaultLayersSet()) { return; } EditorHelper.DrawInspectorBlock("Project Settings", "", () => { EditorHelper.DrawInspectorDescription("The default Motion Controller layers have not been set up.\n\n" + "Press the 'Set Layers' button to add the default layer definitions.", MessageType.Warning); EditorGUILayout.Separator(); EditorGUILayout.PropertyField(FindProperty(x => x.OverwriteExistingLayers)); if (GUILayout.Button("Set Layers")) { LayersSetupHelper.ApplyDefaultLayers(OverwriteExistingLayers); } }); }
private void SetupLayers(LayerDefinitionSet rLayerDefinitionSet) { LayersSetupHelper.AddLayers(rLayerDefinitionSet, mOverwriteExistingLayers.boolValue); EditorUtility.DisplayDialog("Layers Set Up", rLayerDefinitionSet.name + " set.", "Ok"); }