void ShowSourceParentSettings(AudioPlayerOld.SubContainer source, AudioPlayerOld.Container container) { if (GetParentContainerType(source, container) == AudioPlayerOld.SubContainer.ContainerTypes.RandomContainer) { source.weight = Mathf.Max(EditorGUILayout.FloatField("Weight", source.weight), 0); EditorGUILayout.Space(); } else if (GetParentContainerType(source, container) == AudioPlayerOld.SubContainer.ContainerTypes.SequenceContainer) { source.repeat = Mathf.Max(EditorGUILayout.IntField("Repeat", source.repeat), 1); EditorGUILayout.Space(); } source.sourceType = (AudioPlayerOld.SubContainer.ContainerTypes)EditorGUILayout.EnumPopup(source.sourceType); }
void AdjustName(string prefix, AudioPlayerOld.SubContainer source, AudioPlayerOld.Container container) { source.name = prefix; if (source.sourceType == AudioPlayerOld.SubContainer.ContainerTypes.MixContainer || source.sourceType == AudioPlayerOld.SubContainer.ContainerTypes.RandomContainer || source.sourceType == AudioPlayerOld.SubContainer.ContainerTypes.SequenceContainer) { source.name += " | Sources: " + source.childrenLink.Count; } if (GetParentContainerType(source, container) == AudioPlayerOld.SubContainer.ContainerTypes.RandomContainer) { source.name += " | Weight: " + source.weight; } else if (GetParentContainerType(source, container) == AudioPlayerOld.SubContainer.ContainerTypes.SequenceContainer) { source.name += " | Repeat: " + source.repeat; } }
AudioPlayerOld.SubContainer.ContainerTypes GetParentContainerType(AudioPlayerOld.SubContainer source, AudioPlayerOld.Container container) { AudioPlayerOld.SubContainer.ContainerTypes containerType = AudioPlayerOld.SubContainer.ContainerTypes.AudioSource; if (source.parentLink != 0) { containerType = container.GetSourceWithID(source.parentLink).sourceType; } else if (container.containerType == AudioPlayerOld.Container.ContainerTypes.MixContainer) { containerType = AudioPlayerOld.SubContainer.ContainerTypes.MixContainer; } else if (container.containerType == AudioPlayerOld.Container.ContainerTypes.RandomContainer) { containerType = AudioPlayerOld.SubContainer.ContainerTypes.RandomContainer; } else if (container.containerType == AudioPlayerOld.Container.ContainerTypes.SequenceContainer) { containerType = AudioPlayerOld.SubContainer.ContainerTypes.SequenceContainer; } return(containerType); }
void ShowGeneralSourceSettings(AudioPlayerOld.SubContainer source, AudioPlayerOld.Container container) { source.delay = Mathf.Max(EditorGUILayout.FloatField("Delay", source.delay), 0); source.syncMode = (AudioPlayerOld.SyncMode)EditorGUILayout.EnumPopup("Sync Mode", source.syncMode); }
void ShowChildrenSources(AudioPlayerOld.SubContainer source, AudioPlayerOld.Container container, SerializedProperty containerProperty) { SerializedProperty subContainersProperty = containerProperty.FindPropertyRelative("subContainers"); if (AddElementFoldOut(subContainersProperty, "Sources".ToGUIContent(), source.childrenLink.Count)) { currentContainer.subContainers[currentContainer.subContainers.Count - 1] = new AudioPlayerOld.SubContainer(); if (currentContainer.subContainers.Count > 1) { currentContainer.subContainers.Last().Initialize(currentContainer, currentSource.id, currentContainer.subContainers[currentContainer.subContainers.Count - 2]); } else { currentContainer.subContainers.Last().Initialize(currentContainer, currentSource.id); } } if (subContainersProperty.isExpanded) { EditorGUI.indentLevel += 1; if (source.childrenLink.Count != 0) { for (int i = 0; i < source.childrenLink.Count; i++) { currentSource = container.GetSourceWithID(source.childrenLink[i]); currentSourceProperty = subContainersProperty.GetArrayElementAtIndex(i); int index = container.subContainers.IndexOf(currentSource); if (DeleteElementFoldOut(subContainersProperty, index, currentSource.name.ToGUIContent())) { container.GetSourceWithID(source.id).childrenLink.Remove(currentSource.id); container.RemoveEmptyReferences(); break; } switch (currentSource.sourceType) { case AudioPlayerOld.SubContainer.ContainerTypes.AudioSource: ShowAudioSource(container, containerProperty); break; case AudioPlayerOld.SubContainer.ContainerTypes.Sampler: ShowSampler(container, containerProperty); break; case AudioPlayerOld.SubContainer.ContainerTypes.MixContainer: ShowMixContainer(container, containerProperty); break; case AudioPlayerOld.SubContainer.ContainerTypes.RandomContainer: ShowRandomContainer(container, containerProperty); break; case AudioPlayerOld.SubContainer.ContainerTypes.SequenceContainer: ShowSequenceContainer(container, containerProperty); break; } } } EditorGUI.indentLevel -= 1; } Separator(); }
void ShowSources(AudioPlayerOld.Container container, SerializedProperty containerProperty) { SerializedProperty sourcesProperty = containerProperty.FindPropertyRelative("sources"); if (AddElementFoldOut(sourcesProperty, "Sources".ToGUIContent())) { currentContainer.sources[currentContainer.sources.Length - 1] = new AudioPlayerOld.SubContainer(); if (currentContainer.sources.Length > 1) { currentContainer.sources[currentContainer.sources.Length - 1].Initialize(currentContainer, 0, currentContainer.sources[currentContainer.sources.Length - 2]); } else { currentContainer.sources[currentContainer.sources.Length - 1].Initialize(currentContainer, 0); } } if (sourcesProperty.isExpanded) { EditorGUI.indentLevel += 1; if (container.sources != null) { for (int i = 0; i < container.sources.Length; i++) { currentSource = container.sources[i]; currentSourceProperty = sourcesProperty.GetArrayElementAtIndex(i); if (DeleteElementFoldOut(sourcesProperty, i, currentSource.name.ToGUIContent())) { container.RemoveEmptyReferences(); break; } switch (currentSource.sourceType) { case AudioPlayerOld.SubContainer.ContainerTypes.AudioSource: ShowAudioSource(container, containerProperty); break; case AudioPlayerOld.SubContainer.ContainerTypes.Sampler: ShowSampler(container, containerProperty); break; case AudioPlayerOld.SubContainer.ContainerTypes.MixContainer: ShowMixContainer(container, containerProperty); break; case AudioPlayerOld.SubContainer.ContainerTypes.RandomContainer: ShowRandomContainer(container, containerProperty); break; case AudioPlayerOld.SubContainer.ContainerTypes.SequenceContainer: ShowSequenceContainer(container, containerProperty); break; } } } EditorGUI.indentLevel -= 1; } Separator(); }