Ejemplo n.º 1
0
        /**
         * <summary>Initialises the window.</summary>
         */
        public static void Init()
        {
            MusicStorageWindow window = (MusicStorageWindow)EditorWindow.GetWindow(typeof(MusicStorageWindow));

            UnityVersionHandler.SetWindowTitle(window, "Music storage");
            window.position = new Rect(300, 200, 350, 360);
        }
        override public void ShowGUI(List <ActionParameter> parameters)
        {
            if (AdvGame.GetReferences().settingsManager != null)
            {
                SettingsManager settingsManager = AdvGame.GetReferences().settingsManager;

                if (GUILayout.Button("Music Storage window"))
                {
                    MusicStorageWindow.Init();
                }

                if (settingsManager.musicStorages.Count == 0)
                {
                    EditorGUILayout.HelpBox("Before a track can be selected, it must be added to the Music Storage window.", MessageType.Info);
                    return;
                }

                musicAction = (MusicAction)EditorGUILayout.EnumPopup("Method:", (MusicAction)musicAction);

                string fadeLabel = "Transition time (s):";
                if (musicAction == MusicAction.Play || musicAction == MusicAction.Crossfade)
                {
                    GetTrackIndex(settingsManager.musicStorages.ToArray(), parameters);

                    loop                 = EditorGUILayout.Toggle("Loop?", loop);
                    isQueued             = EditorGUILayout.Toggle("Queue?", isQueued);
                    resumeIfPlayedBefore = EditorGUILayout.Toggle("Resume if played before?", resumeIfPlayedBefore);
                }
                else if (musicAction == MusicAction.Stop)
                {
                    fadeLabel = "Fade-out time (s):";
                }
                else if (musicAction == MusicAction.ResumeLastStopped)
                {
                    resumeFromStart = EditorGUILayout.Toggle("Restart track?", resumeFromStart);
                }

                fadeTimeParameterID = Action.ChooseParameterGUI(fadeLabel, parameters, fadeTimeParameterID, ParameterType.Float);
                if (fadeTimeParameterID < 0)
                {
                    fadeTime = EditorGUILayout.Slider(fadeLabel, fadeTime, 0f, 10f);
                }

                if (fadeTime > 0f && !isQueued)
                {
                    willWait = EditorGUILayout.Toggle("Wait until transition ends?", willWait);
                }
            }
            else
            {
                EditorGUILayout.HelpBox("A Settings Manager must be defined for this Action to function correctly. Please go to your Game Window and assign one.", MessageType.Warning);
            }

            AfterRunningOption();
        }
Ejemplo n.º 3
0
        override public void ShowGUI()
        {
            if (AdvGame.GetReferences().settingsManager != null)
            {
                SettingsManager settingsManager = AdvGame.GetReferences().settingsManager;

                if (GUILayout.Button("Music Storage window"))
                {
                    MusicStorageWindow.Init();
                }

                if (settingsManager.musicStorages.Count == 0)
                {
                    EditorGUILayout.HelpBox("Before a track can be selected, it must be added to the Music Storage window.", MessageType.Info);
                    return;
                }

                musicAction = (MusicAction)EditorGUILayout.EnumPopup("Music action:", (MusicAction)musicAction);

                if (musicAction == MusicAction.Play || musicAction == MusicAction.Crossfade)
                {
                    GetTrackIndex(settingsManager.musicStorages.ToArray());

                    loop     = EditorGUILayout.Toggle("Loop?", loop);
                    isQueued = EditorGUILayout.Toggle("Queue?", isQueued);
                    fadeTime = EditorGUILayout.Slider("Transition time (s):", fadeTime, 0f, 10f);
                }
                else if (musicAction == MusicAction.Stop)
                {
                    fadeTime = EditorGUILayout.Slider("Fade-out time (s):", fadeTime, 0f, 10f);
                }

                if (fadeTime > 0f && !isQueued)
                {
                    willWait = EditorGUILayout.Toggle("Wait until transition ends?", willWait);
                }
            }
            else
            {
                EditorGUILayout.HelpBox("A Settings Manager must be defined for this Action to function correctly. Please go to your Game Window and assign one.", MessageType.Warning);
            }

            AfterRunningOption();
        }