diff --git a/Assets/Resources/Prefabs/Editor/EventProperties/Note.prefab b/Assets/Resources/Prefabs/Editor/EventProperties/Note.prefab
index c6799f8a1..f7bbb2a5e 100644
--- a/Assets/Resources/Prefabs/Editor/EventProperties/Note.prefab
+++ b/Assets/Resources/Prefabs/Editor/EventProperties/Note.prefab
@@ -545,6 +545,7 @@ GameObject:
- component: {fileID: 6158244586092265563}
- component: {fileID: 6158244586092265565}
- component: {fileID: 6158244586092265564}
+ - component: {fileID: 4416041990617176705}
m_Layer: 5
m_Name: Handle
m_TagString: Untagged
@@ -610,6 +611,33 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
+--- !u!114 &4416041990617176705
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6158244586092265562}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e365c37b20b7e15458fab7eef4b17449, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ OnLeftClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 5889849442551835445}
+ m_TargetAssemblyTypeName: NotePropertyPrefab, Assembly-CSharp
+ m_MethodName: OnSelectSliderHandle
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
--- !u!1 &6158244586323976421
GameObject:
m_ObjectHideFlags: 0
@@ -1047,6 +1075,7 @@ GameObject:
- component: {fileID: 6158244586633658522}
- component: {fileID: 6158244586633658523}
- component: {fileID: 6158244586633658524}
+ - component: {fileID: 1757629852665466133}
m_Layer: 5
m_Name: Slider
m_TagString: Untagged
@@ -1146,7 +1175,7 @@ MonoBehaviour:
action:
m_PersistentCalls:
m_Calls:
- - m_Target: {fileID: 0}
+ - m_Target: {fileID: 5889849442551835445}
m_TargetAssemblyTypeName: HeavenStudio.Editor.NumberPropertyPrefab, Assembly-CSharp
m_MethodName: ResetValue
m_Mode: 1
@@ -1160,3 +1189,18 @@ MonoBehaviour:
m_CallState: 2
_masterTrans: {fileID: 0}
_dropDown: {fileID: 8384641343036272350, guid: 56a45ac5cd0da2a4ab398d1a63e18d9f, type: 3}
+--- !u!114 &1757629852665466133
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6158244586633658521}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e365c37b20b7e15458fab7eef4b17449, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ OnLeftClick:
+ m_PersistentCalls:
+ m_Calls: []
diff --git a/Assets/Resources/Sfx/games/builtToScaleDS/PianoPreview.ogg b/Assets/Resources/Sfx/games/builtToScaleDS/PianoPreview.ogg
index 7f84f6208..6448d4d5a 100644
Binary files a/Assets/Resources/Sfx/games/builtToScaleDS/PianoPreview.ogg and b/Assets/Resources/Sfx/games/builtToScaleDS/PianoPreview.ogg differ
diff --git a/Assets/Scripts/Games/LaunchParty/LaunchParty.cs b/Assets/Scripts/Games/LaunchParty/LaunchParty.cs
index 6c31947a4..23c51b48a 100644
--- a/Assets/Scripts/Games/LaunchParty/LaunchParty.cs
+++ b/Assets/Scripts/Games/LaunchParty/LaunchParty.cs
@@ -20,10 +20,10 @@ namespace HeavenStudio.Games.Loaders
parameters = new List()
{
new Param("offset", new EntityTypes.Float(-1, 2, -1), "Spawn Offset", "Set when the rocket should rise up."),
- new Param("note1", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 2, 1,4, "launchParty/rocket_note"), "1st Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note2", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 4, 1,4, "launchParty/rocket_note"), "2nd Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note3", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 5, 1,4, "launchParty/rocket_note"), "3rd Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note4", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 7, 1,4, "launchParty/rocket_note"), "4th Note", "Set the number of semitones up or down this note should be pitched.")
+ new Param("note1", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 2, 0,4, "launchParty/rocket_note"), "1st Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note2", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 4, 0,4, "launchParty/rocket_note"), "2nd Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note3", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 5, 0,4, "launchParty/rocket_note"), "3rd Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note4", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 7, 0,4, "launchParty/rocket_note"), "4th Note", "Set the number of semitones up or down this note should be pitched.")
}
},
new GameAction("partyCracker", "Party-Popper")
@@ -33,12 +33,12 @@ namespace HeavenStudio.Games.Loaders
parameters = new List()
{
new Param("offset", new EntityTypes.Float(-1, 1, -1), "Spawn Offset", "Set when the rocket should rise up."),
- new Param("note1", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 4, 1, 4, "launchParty/popper_note"), "1st Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note2", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 5, 1, 4, "launchParty/popper_note"), "2nd Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note3", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 7, 1, 4, "launchParty/popper_note"), "3rd Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note4", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 9, 1, 4, "launchParty/popper_note"), "4th Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note5", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 11, 1, 4, "launchParty/popper_note"), "5th Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note6", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 12, 1, 4, "launchParty/popper_note"), "6th Note", "Set the number of semitones up or down this note should be pitched.")
+ new Param("note1", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 4, 0, 4, "launchParty/popper_note"), "1st Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note2", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 5, 0, 4, "launchParty/popper_note"), "2nd Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note3", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 7, 0, 4, "launchParty/popper_note"), "3rd Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note4", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 9, 0, 4, "launchParty/popper_note"), "4th Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note5", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 11, 0, 4, "launchParty/popper_note"), "5th Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note6", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 12, 0, 4, "launchParty/popper_note"), "6th Note", "Set the number of semitones up or down this note should be pitched.")
}
},
new GameAction("bell", "Bell")
@@ -50,14 +50,14 @@ namespace HeavenStudio.Games.Loaders
{
new Param("offset", new EntityTypes.Float(-1, 1, -1), "Spawn Offset", "Set when the rocket should rise up."),
new Param("note1", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 0, 4, "launchParty/bell_note"), "1st Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note2", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 2, 1, 4, "launchParty/bell_short"), "2nd Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note3", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 4, 1, 4, "launchParty/bell_short"), "3rd Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note4", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 5, 1, 4, "launchParty/bell_short"), "4th Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note5", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 7, 1, 4, "launchParty/bell_short"), "5th Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note6", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 9, 1, 4, "launchParty/bell_short"), "6th Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note7", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 11, 1, 4, "launchParty/bell_short"), "7th Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note8", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 12, 1, 4, "launchParty/bell_short"), "8th Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note9", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 1, 4, "launchParty/bell_blast"), "9th Note (Launch)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note2", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 2, 0, 4, "launchParty/bell_short"), "2nd Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note3", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 4, 0, 4, "launchParty/bell_short"), "3rd Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note4", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 5, 0, 4, "launchParty/bell_short"), "4th Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note5", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 7, 0, 4, "launchParty/bell_short"), "5th Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note6", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 9, 0, 4, "launchParty/bell_short"), "6th Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note7", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 11, 0, 4, "launchParty/bell_short"), "7th Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note8", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 12, 0, 4, "launchParty/bell_short"), "8th Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note9", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 0, 4, "launchParty/bell_blast"), "9th Note (Launch)", "Set the number of semitones up or down this note should be pitched."),
}
},
new GameAction("bowlingPin", "Bowling Pin")
@@ -68,21 +68,21 @@ namespace HeavenStudio.Games.Loaders
parameters = new List()
{
new Param("offset", new EntityTypes.Float(-1, 1, -1), "Spawn Offset", "Set when the rocket should rise up."),
- new Param("note1", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 5, 1, 4, "launchParty/pin"), "1st Note", "Set the number of semitones up or down this note should be pitched."),
- new Param("note2", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 1, 4, "launchParty/flute"), "2nd Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note3", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 1, 4, "launchParty/flute"), "3rd Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note4", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 1, 4, "launchParty/flute"), "4th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note5", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 1, 4, "launchParty/flute"), "5th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note6", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 1, 4, "launchParty/flute"), "6th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note7", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 1, 4, "launchParty/flute"), "7th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note8", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 1, 4, "launchParty/flute"), "8th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note9", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 1, 4, "launchParty/flute"), "9th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note10", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 1, 4, "launchParty/flute"), "10th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note11", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 1, 4, "launchParty/flute"), "11th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note12", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 1, 4, "launchParty/flute"), "12th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note13", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 1, 4, "launchParty/flute"), "13th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note14", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 7, 1, 4, "launchParty/flute"), "14th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
- new Param("note15", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 7, 1, 4, "launchParty/pin"), "15th Note", "The number of semitones up or down this note should be pitched")
+ new Param("note1", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 5, 0, 4, "launchParty/pin"), "1st Note", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note2", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 0, 4, "launchParty/flute"), "2nd Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note3", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 0, 4, "launchParty/flute"), "3rd Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note4", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 0, 4, "launchParty/flute"), "4th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note5", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 0, 4, "launchParty/flute"), "5th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note6", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 0, 4, "launchParty/flute"), "6th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note7", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 0, 4, "launchParty/flute"), "7th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note8", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 0, 4, "launchParty/flute"), "8th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note9", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 0, 4, "launchParty/flute"), "9th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note10", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 0, 4, "launchParty/flute"), "10th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note11", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 0, 4, "launchParty/flute"), "11th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note12", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, -1, 0, 4, "launchParty/flute"), "12th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note13", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 0, 0, 4, "launchParty/flute"), "13th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note14", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 7, 0, 4, "launchParty/flute"), "14th Note (Flute)", "Set the number of semitones up or down this note should be pitched."),
+ new Param("note15", new EntityTypes.Note(-EntityTypes.Note.maxSemitones, EntityTypes.Note.maxSemitones, 7, 0, 4, "launchParty/pin"), "15th Note", "The number of semitones up or down this note should be pitched")
}
},
new GameAction("posMove", "Change Launch Pad Position")
diff --git a/Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/NotePropertyPrefab.cs b/Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/NotePropertyPrefab.cs
index e489bc882..1fe9c63e4 100644
--- a/Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/NotePropertyPrefab.cs
+++ b/Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/NotePropertyPrefab.cs
@@ -13,22 +13,25 @@ public class NotePropertyPrefab : NumberPropertyPrefab
public TMP_Text noteLabel;
private Sound previewAudioSource;
+ private EntityTypes.Note note;
+ private int offsetFromC;
public override void SetProperties(string propertyName, object type, string caption)
{
base.SetProperties(propertyName, type, caption);
- EntityTypes.Note note = (EntityTypes.Note)type;
+ note = (EntityTypes.Note)type;
slider.minValue = note.min;
slider.maxValue = note.max;
- _defaultValue = note.val;
slider.wholeNumbers = true;
- int offsetFromC = 3 - note.sampleNote;
+ offsetFromC = 3 - note.sampleNote;
slider.value = Convert.ToSingle(parameterManager.entity[propertyName]) - offsetFromC;
+ _defaultValue = slider.value;
+
inputField.text = slider.value.ToString();
noteLabel.text = GetNoteText(note, (int)slider.value + offsetFromC);
@@ -81,6 +84,11 @@ public class NotePropertyPrefab : NumberPropertyPrefab
}
);
}
+
+ public void OnSelectSliderHandle()
+ {
+ PlayPreview(note, (int)slider.value + offsetFromC);
+ }
private void PlayPreview(EntityTypes.Note note, int currentSemitones)
{
@@ -88,12 +96,7 @@ public class NotePropertyPrefab : NumberPropertyPrefab
if (previewAudioSource != null)
{
- if (!previewAudioSource.available)
- {
- GameManager.instance.SoundObjects.Release(previewAudioSource);
- }
-
- previewAudioSource.Stop();
+ previewAudioSource.Stop(true);
previewAudioSource = null;
}
diff --git a/Assets/Scripts/UI/LeftClickEvent.cs b/Assets/Scripts/UI/LeftClickEvent.cs
new file mode 100644
index 000000000..eafdaa098
--- /dev/null
+++ b/Assets/Scripts/UI/LeftClickEvent.cs
@@ -0,0 +1,18 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.Events;
+using UnityEngine.EventSystems;
+using UnityEngine.UI;
+
+public class LeftClickEvent : Selectable
+{
+ public UnityEvent OnLeftClick;
+ public override void OnPointerDown(PointerEventData eventData)
+ {
+ base.OnPointerDown(eventData);
+
+ if(eventData.button != PointerEventData.InputButton.Left) return;
+ OnLeftClick?.Invoke();
+ }
+}
diff --git a/Assets/Scripts/UI/LeftClickEvent.cs.meta b/Assets/Scripts/UI/LeftClickEvent.cs.meta
new file mode 100644
index 000000000..b65fdcf3a
--- /dev/null
+++ b/Assets/Scripts/UI/LeftClickEvent.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e365c37b20b7e15458fab7eef4b17449
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Util/Sound.cs b/Assets/Scripts/Util/Sound.cs
index 7fa6ded85..791732999 100644
--- a/Assets/Scripts/Util/Sound.cs
+++ b/Assets/Scripts/Util/Sound.cs
@@ -117,7 +117,6 @@ namespace HeavenStudio.Util
{
if (!ignoreConductorPause && !(cond.isPlaying || cond.isPaused))
{
- Debug.Log("release 1");
GameManager.instance.SoundObjects.Release(this);
return;
}
@@ -175,15 +174,11 @@ namespace HeavenStudio.Util
{
if (!ignoreConductorPause && !(cond.isPlaying || cond.isPaused))
{
- Debug.Log("release2");
-
GameManager.instance.SoundObjects.Release(this);
return;
}
if (!(looping || paused || audioSource.isPlaying))
{
- Debug.Log("release3");
-
GameManager.instance.SoundObjects.Release(this);
return;
}
@@ -239,8 +234,13 @@ namespace HeavenStudio.Util
audioSource.UnPause();
}
- public void Stop()
+ public void Stop(bool releaseToPool = false)
{
+ if(releaseToPool && audioSource.isPlaying)
+ {
+ GameManager.instance.SoundObjects.Release(this);
+ }
+
available = true;
played = false;
paused = false;