void WelcomePage() { GUILayout.FlexibleSpace(); string message = string.Format("Welcome to FMOD for Unity {0}.", EditorUtils.VersionString(FMOD.VERSION.number)); EditorGUILayout.LabelField(message, titleStyle); EditorGUILayout.Space(); EditorGUILayout.LabelField("This setup wizard will help you configure your project to use FMOD.", titleStyle); GUILayout.FlexibleSpace(); }
void StagingUpdatePage() { GUILayout.Space(25); string message = string.Format("Welcome to FMOD for Unity {0}.", EditorUtils.VersionString(FMOD.VERSION.number)); EditorGUILayout.LabelField(message, titleStyle); EditorGUILayout.Space(); EditorGUILayout.LabelField( "To complete the installation, we need to update the FMOD native libraries.\n" + "This involves a few steps:", titleStyle); EditorGUILayout.Space(); float nameWidth = 200; using (new GUILayout.VerticalScope(columnStyle)) { foreach (StagingSystem.UpdateStep step in StagingSystem.UpdateSteps) { bool complete = step.Stage < nextStagingStep.Stage; Color oldColor = GUI.backgroundColor; GUI.backgroundColor = complete ? Color.green : Color.yellow; using (new GUILayout.HorizontalScope(GUI.skin.box)) { GUILayout.Label(complete ? tickTexture : crossTexture, iconStyle); EditorGUILayout.LabelField(step.Name, titleLeftStyle, GUILayout.Width(nameWidth)); EditorGUILayout.LabelField(step.Description, descriptionStyle); } GUI.backgroundColor = oldColor; } EditorGUILayout.Space(); EditorGUILayout.LabelField("Next step:", titleStyle); using (new GUILayout.HorizontalScope()) { GUILayout.FlexibleSpace(); if (GUILayout.Button(nextStagingStep.Name, buttonStyle, GUILayout.ExpandWidth(false))) { EditorApplication.delayCall += DoNextStagingStep; } GUILayout.FlexibleSpace(); } EditorGUILayout.Space(); using (var scope = new EditorGUILayout.ScrollViewScope(stagingDetailsScroll)) { stagingDetailsScroll = scope.scrollPosition; EditorGUILayout.LabelField(nextStagingStep.Details, descriptionStyle); } } }