예제 #1
0
        private void DrawDividerLine(float x)
        {
            Vector2 p1 = new Vector2(x, position.height);
            Vector2 p2 = new Vector3(x, 0);

            EditorScriptUtil.DrawLine(p1, p2, Color.black);
        }
예제 #2
0
        public void DrawProperties()
        {
            GUILayout.BeginVertical(GUI.skin.box);

            EditorGUILayout.LabelField(_VolumeLabel);
            _Volume.floatValue = EditorGUILayout.FloatField(_Volume.floatValue);
            EditorGUILayout.LabelField(_PanLabel);
            _Pan.floatValue = EditorGUILayout.Slider(_Pan.floatValue, -1f, 1f);

            EditorGUILayout.LabelField(_PitchLabel);
            EditorScriptUtil.RangeSlider(
                _PitchMin,
                _PitchMax,
                PITCH_MINIMUM,
                PITCH_MAXIMUM);

            EditorGUILayout.ObjectField(_AudioMixerGroup, typeof(AudioMixerGroup));
            _AvoidRepetition.boolValue = EditorGUILayout.Toggle(_AvoidRepetitionContent, _AvoidRepetition.boolValue);

            GUILayout.EndVertical();
        }
예제 #3
0
        private void OnAudioAssetSelected(int index)
        {
            if (index == -1)
            {
                OnSelected?.Invoke(null);
                return;
            }

            SerializedProperty audioAssetProperty =
                EditorScriptUtil.FromPropertyRelativeFromIndex(_MappingList, index, "_AudioAsset");

            if (!EditorScriptUtil.TryFetchPropertyGuid(audioAssetProperty, out string guid))
            {
                OnSelected?.Invoke(null);
                return;
            }

            string     path       = AssetDatabase.GUIDToAssetPath(guid);
            AudioAsset audioAsset = AssetDatabase.LoadAssetAtPath <AudioAsset>(path);

            OnSelected?.Invoke(audioAsset);
        }
예제 #4
0
        public void DrawClipList()
        {
            GUILayout.BeginVertical(GUI.skin.box);
            GUILayout.BeginHorizontal();
            GUILayout.Label("Sound clips");

            if (GUILayout.Button("Nuke"))
            {
                EditorWindow.CreateInstance <ConfirmActionPopup>()
                .SetQuestion("You're about to remove all soundclips. Are you sure?")
                .CenterOnRect(_CurrentWindow.position)
                .OnConfirm += RemoveAllElements;
            }

            if (GUILayout.Button("Remove"))
            {
                RemoveElement();
            }

            if (GUILayout.Button("Add"))
            {
                AddElement();
            }
            GUILayout.EndHorizontal();


            _SelectableList.DoList(_ClipList.arraySize, _ScrollVector);
            GUILayout.EndVertical();

            AudioClip[] audioclips = EditorScriptUtil.FilteredDrop <AudioClip>();

            if (audioclips != null)
            {
                foreach (AudioClip clip in audioclips)
                {
                    AddClip(clip);
                }
            }
        }
예제 #5
0
        public void DrawProperties()
        {
            GUILayout.BeginVertical(GUI.skin.box);

            EditorGUILayout.LabelField(_VolumeLabel);
            _Volume.floatValue = EditorGUILayout.FloatField(_Volume.floatValue);
            EditorGUILayout.LabelField(_PanLabel);
            _Pan.floatValue = EditorGUILayout.Slider(_Pan.floatValue, -1f, 1f);

            EditorGUILayout.LabelField(_PitchLabel);
            EditorScriptUtil.RangeSlider(
                _PitchMin,
                _PitchMax,
                PITCH_MINIMUM,
                PITCH_MAXIMUM);

            EditorGUILayout.ObjectField(_AudioMixerGroup, typeof(AudioMixerGroup));
            _AvoidRepetition.boolValue = EditorGUILayout.Toggle(_AvoidRepetitionContent, _AvoidRepetition.boolValue);

            GUILayout.EndVertical();


            EditorGUILayout.LabelField("Audio source settings");

            GUILayout.BeginVertical(GUI.skin.box);
            EditorGUILayout.LabelField("Doppler (2D - 3D)");
            _Doppler.floatValue = EditorGUILayout.Slider(_Doppler.floatValue, 0, 5f);
            EditorGUILayout.LabelField("SpatialBlend (2D - 3D)");
            _SpatialBlend.floatValue = EditorGUILayout.Slider(_SpatialBlend.floatValue, 0, 1f);
            EditorGUILayout.LabelField("MaxDistance");
            _MaxDistance.floatValue = EditorGUILayout.FloatField(_MaxDistance.floatValue);
            EditorGUILayout.LabelField("MinDistance");
            _MinDistance.floatValue        = EditorGUILayout.FloatField(_MinDistance.floatValue);
            _Looped.boolValue              = EditorGUILayout.Toggle("Looped", _Looped.boolValue);
            _RandomStartPosition.boolValue = EditorGUILayout.Toggle("Random Start Position", _RandomStartPosition.boolValue);
            GUILayout.EndVertical();
        }