void LinkingPage() { EditorGUILayout.LabelField("In order to access your FMOD Studio content you need to locate the FMOD Studio Project or the .bank files that FMOD Studio produces, and configure a few other settings.", titleStyleLeft); GUILayout.FlexibleSpace(); EditorGUILayout.LabelField("Choose how to access your FMOD Studio content:", titleStyleLeft); var descStyle = new GUIStyle(titleStyleLeft); descStyle.fontStyle = FontStyle.Normal; descStyle.alignment = TextAnchor.MiddleLeft; descStyle.margin = new RectOffset(5, 0, 0, 0); EditorGUILayout.Space(); using (new GUILayout.HorizontalScope()) { using (new GUILayout.VerticalScope("box")) { float indent = 25; sourceButtonStyle = new GUIStyle("button"); sourceButtonStyle.fixedWidth = 150; sourceButtonStyle.fixedHeight = 35; sourceButtonStyle.margin = new RectOffset(); var serializedObject = new SerializedObject(Settings.Instance); var boxStyle = new GUIStyle(); boxStyle.fixedHeight = 10; using (new GUILayout.HorizontalScope()) { GUILayout.Space(indent); if (GUILayout.Button("FMOD Studio Project", sourceButtonStyle)) { SettingsEditor.BrowseForSourceProjectPath(serializedObject); } GUILayout.Label("If you have the complete FMOD Studio Project.", descStyle, GUILayout.Height(sourceButtonStyle.fixedHeight)); } EditorGUILayout.Space(); using (new GUILayout.HorizontalScope()) { GUILayout.Space(indent); if (GUILayout.Button("Single Platform Build", sourceButtonStyle)) { SettingsEditor.BrowseForSourceBankPath(serializedObject); } EditorGUILayout.LabelField("If you have the contents of the Build folder for a single platform.", descStyle, GUILayout.Height(sourceButtonStyle.fixedHeight)); GUILayout.FlexibleSpace(); } EditorGUILayout.Space(); using (new GUILayout.HorizontalScope()) { GUILayout.Space(indent); if (GUILayout.Button("Multiple Platform Build", sourceButtonStyle)) { SettingsEditor.BrowseForSourceBankPath(serializedObject, true); } EditorGUILayout.LabelField("If you have the contents of the Build folder for multiple platforms, with each platform in its own subdirectory.", descStyle, GUILayout.Height(sourceButtonStyle.fixedHeight)); } } } if (IsStudioLinked()) { EditorGUILayout.Space(); Color oldColor = GUI.backgroundColor; GUI.backgroundColor = Color.green; using (new GUILayout.HorizontalScope("box")) { GUILayout.FlexibleSpace(); GUILayout.Label(tickTexture, iconStyle, GUILayout.Height(EditorGUIUtility.singleLineHeight * 2)); EditorGUILayout.Space(); using (new GUILayout.VerticalScope()) { Settings settings = Settings.Instance; if (settings.HasSourceProject) { EditorGUILayout.LabelField("Using the FMOD Studio project at:", descStyle); EditorGUILayout.LabelField(settings.SourceProjectPath, descStyle); } else if (settings.HasPlatforms) { EditorGUILayout.LabelField("Using the multiple platform build at:", descStyle); EditorGUILayout.LabelField(settings.SourceBankPath, descStyle); } else { EditorGUILayout.LabelField("Using the single platform build at:", descStyle); EditorGUILayout.LabelField(settings.SourceBankPath, descStyle); } } GUILayout.FlexibleSpace(); } GUI.backgroundColor = oldColor; } GUILayout.FlexibleSpace(); }