Skip to content

Commit 25ca75d

Browse files
📦 3.0.3 & 3.0.4 Releases
1 parent 938d7e4 commit 25ca75d

11 files changed

Lines changed: 141 additions & 20 deletions

File tree

Carter Games/Audio Manager/Code/Editor/Custom Editors/Editor Windows/Library Window/Sub-Menus/2. Groups/LibraryEditorGroupsTab.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ protected override void LeftSectionControl()
148148
UtilEditor.DrawHorizontalGUILine();
149149
GUILayout.Space(7.5f);
150150

151+
PerUserSettings.GroupBtnScrollRectPos = EditorGUILayout.BeginScrollView(PerUserSettings.GroupBtnScrollRectPos);
151152
base.LeftSectionControl();
152153
EditorGUILayout.EndScrollView();
153154

@@ -160,9 +161,11 @@ protected override void LeftSectionControl()
160161
/// </summary>
161162
protected override void RightSectionControl()
162163
{
164+
PerUserSettings.GroupScrollRectPos = EditorGUILayout.BeginScrollView(PerUserSettings.GroupScrollRectPos);
163165
EditorGUILayout.BeginVertical("Box");
164166
base.RightSectionControl();
165167
EditorGUILayout.EndVertical();
168+
EditorGUILayout.EndScrollView();
166169
}
167170

168171

@@ -205,7 +208,7 @@ protected override void OnLeftGUI()
205208
GUILayout.Space(5f);
206209
}
207210

208-
PerUserSettings.GroupScrollRectPos = EditorGUILayout.BeginScrollView(PerUserSettings.GroupScrollRectPos, GUILayout.MaxWidth(250));
211+
209212

210213
foreach (var key in groupKeys)
211214
{

Carter Games/Audio Manager/Code/Editor/Custom Editors/Editor Windows/Library Window/Sub-Menus/3. Mixers/LibraryEditorMixerTab.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,25 @@ protected override void LeftSectionControl()
105105
UtilEditor.DrawHorizontalGUILine();
106106
GUILayout.Space(7.5f);
107107

108-
PerUserSettings.MixerScrollRectPos = EditorGUILayout.BeginScrollView(PerUserSettings.MixerScrollRectPos);
108+
PerUserSettings.MixerBtnScrollRectPos = EditorGUILayout.BeginScrollView(PerUserSettings.MixerBtnScrollRectPos);
109109
base.LeftSectionControl();
110110
EditorGUILayout.EndScrollView();
111111

112112
EditorGUILayout.EndVertical();
113113
}
114+
115+
116+
/// <summary>
117+
/// Changes the right GUI control to something else.
118+
/// </summary>
119+
protected override void RightSectionControl()
120+
{
121+
PerUserSettings.MixerScrollRectPos = EditorGUILayout.BeginScrollView(PerUserSettings.MixerScrollRectPos);
122+
EditorGUILayout.BeginVertical("Box");
123+
base.RightSectionControl();
124+
EditorGUILayout.EndVertical();
125+
EditorGUILayout.EndScrollView();
126+
}
114127

115128

116129
/// <summary>

Carter Games/Audio Manager/Code/Editor/Custom Editors/Editor Windows/Library Window/Sub-Menus/4. Music/LibraryEditorMusicTab.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,6 @@ protected override void LeftSectionControl()
134134
GUILayout.Space(7.5f);
135135
UtilEditor.DrawHorizontalGUILine();
136136
GUILayout.Space(7.5f);
137-
138-
PerUserSettings.MusicScrollRectPos = EditorGUILayout.BeginScrollView(PerUserSettings.MusicScrollRectPos);
139137

140138
if (UtilEditor.LibraryObject.Fp("tracks").Fpr("list").arraySize > 0)
141139
{
@@ -168,11 +166,25 @@ protected override void LeftSectionControl()
168166
}
169167
}
170168

169+
PerUserSettings.MusicBtnScrollRectPos = EditorGUILayout.BeginScrollView(PerUserSettings.MusicBtnScrollRectPos);
171170
base.LeftSectionControl();
172171
EditorGUILayout.EndScrollView();
173172

174173
EditorGUILayout.EndVertical();
175174
}
175+
176+
177+
/// <summary>
178+
/// Changes the right GUI control to something else.
179+
/// </summary>
180+
protected override void RightSectionControl()
181+
{
182+
PerUserSettings.MusicScrollRectPos = EditorGUILayout.BeginScrollView(PerUserSettings.MusicScrollRectPos);
183+
EditorGUILayout.BeginVertical("Box");
184+
base.RightSectionControl();
185+
EditorGUILayout.EndVertical();
186+
EditorGUILayout.EndScrollView();
187+
}
176188

177189

178190
/// <summary>

Carter Games/Audio Manager/Code/Editor/Systems/Scanning/AudioScanner.cs

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,20 @@ public sealed class AudioScanner : AssetPostprocessor
4040
───────────────────────────────────────────────────────────────────────────────────────────────────────────── */
4141

4242
private static bool LibraryExists => ScriptableRef.HasLibraryFile;
43+
44+
45+
/// <summary>
46+
/// Returns if any audio is found in the project or not.
47+
/// </summary>
48+
public static bool AnyAudioInProject
49+
{
50+
get
51+
{
52+
var assets = AssetDatabase.FindAssets("t:AudioClip", null);
53+
if (assets == null) return false;
54+
return assets.Length > 0;
55+
}
56+
}
4357

4458
/* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
4559
| Menu Items
@@ -113,13 +127,16 @@ public static void ScanForAudio(bool cleanScan)
113127
{
114128
AudioRemover.RemoveNullLibraryEntries();
115129

116-
if (GetAllClipsInProject(cleanScan, out var lookup))
130+
if (AnyAudioInProject)
117131
{
118-
UtilEditor.SetLibraryData(lookup, cleanScan);
119-
120-
StructHandler.RefreshClips();
121-
122-
AudioManagerEditorEvents.OnLibraryRefreshed.Raise();
132+
if (GetAllClipsInProject(cleanScan, out var lookup))
133+
{
134+
UtilEditor.SetLibraryData(lookup, cleanScan);
135+
136+
StructHandler.RefreshClips();
137+
138+
AudioManagerEditorEvents.OnLibraryRefreshed.Raise();
139+
}
123140
}
124141

125142
var mixers = GetAllMixersInProject();

Carter Games/Audio Manager/Code/Editor/Systems/Scanning/FirstScan.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,14 @@ private static void ShowFirstScan()
7676
return;
7777
}
7878

79-
if (EditorUtility.DisplayDialog("Audio Library Scan", "Your library has no entries, do you want to scan for audio and mixer groups now?", "Scan", "Cancel"))
79+
if (AudioScanner.AnyAudioInProject)
8080
{
81-
AudioScanner.ScanForAudio(true);
81+
if (EditorUtility.DisplayDialog("Audio Library Scan",
82+
"Your library has no entries, do you want to scan for audio and mixer groups now?", "Scan",
83+
"Cancel"))
84+
{
85+
AudioScanner.ScanForAudio(true);
86+
}
8287
}
8388

8489
PerUserSettings.ScannerInitialized = true;

Carter Games/Audio Manager/Code/Editor/Systems/Version Validation/VersionChecker.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@ public static class VersionChecker
4646
/// Gets if the latest version is this version.
4747
/// </summary>
4848
public static bool IsLatestVersion => Versions.Data.Match(VersionInfo.ProjectVersionNumber);
49+
50+
51+
/// <summary>
52+
/// Gets if the version here is higher that the latest version.
53+
/// </summary>
54+
public static bool IsNewerVersion => Versions.Data.IsHigherVersion(VersionInfo.ProjectVersionNumber);
4955

5056

5157
/// <summary>

Carter Games/Audio Manager/Code/Editor/Systems/Version Validation/VersionData.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,24 @@ public bool Match(string toCompare)
9595

9696
return aVN.Major.Equals(bVN.Major) && aVN.Minor.Equals(bVN.Minor) && aVN.Patch.Equals(bVN.Patch);
9797
}
98+
99+
100+
/// <summary>
101+
/// Gets if the entry is a higher version than the converted version.
102+
/// </summary>
103+
/// <param name="toCompare">The version string to compare.</param>
104+
/// <returns>If the entry is greater on any (major/minor/patch) value.</returns>
105+
public bool IsHigherVersion(string toCompare)
106+
{
107+
var aVN = VersionNumber;
108+
var bVN = new VersionNumber(toCompare);
109+
110+
if (Match(toCompare))
111+
{
112+
return false;
113+
}
114+
115+
return (aVN.Major < bVN.Major) || (aVN.Minor < bVN.Minor) || (aVN.Patch < bVN.Patch);
116+
}
98117
}
99118
}

Carter Games/Audio Manager/Code/Editor/Systems/Version Validation/VersionEditorGUI.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,16 @@ public static void ShowResponseDialogue(bool showIfUptoDate = true)
5555
{
5656
VersionChecker.ResponseReceived.RemoveAnonymous("versionCheckManual");
5757

58-
if (!VersionChecker.IsLatestVersion)
58+
if (VersionChecker.IsNewerVersion)
5959
{
60-
if (EditorUtility.DisplayDialog($"{VersionInfo.Key} | Update Checker",
60+
if (!showIfUptoDate) return;
61+
EditorUtility.DisplayDialog("Update Checker",
62+
$"You are using a newer version than the currently released one.\n\nYours: {VersionInfo.ProjectVersionNumber}\nLatest: {VersionChecker.LatestVersionNumberString}",
63+
"Continue");
64+
}
65+
else if (!VersionChecker.IsLatestVersion)
66+
{
67+
if (EditorUtility.DisplayDialog("Update Checker",
6168
$"You are using an older version of this package.\n\nCurrent: {VersionInfo.ProjectVersionNumber}\nLatest: {VersionChecker.LatestVersionNumberString}",
6269
"Latest Release", "Continue"))
6370
{
@@ -67,8 +74,7 @@ public static void ShowResponseDialogue(bool showIfUptoDate = true)
6774
else
6875
{
6976
if (!showIfUptoDate) return;
70-
71-
EditorUtility.DisplayDialog($"{VersionInfo.Key} | Update Checker",
77+
EditorUtility.DisplayDialog("Update Checker",
7278
"You are using the latest version!",
7379
"Continue");
7480
}

Carter Games/Audio Manager/Code/Editor/Utility/AssetVersionData.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public static class AssetVersionData
3131
/// <summary>
3232
/// The version number of the asset.
3333
/// </summary>
34-
public static string VersionNumber => "3.0.2";
34+
public static string VersionNumber => "3.0.4";
3535

3636

3737
/// <summary>
@@ -40,6 +40,6 @@ public static class AssetVersionData
4040
/// <remarks>
4141
/// Asset owner is in the UK, so its D/M/Y format.
4242
/// </remarks>
43-
public static string ReleaseDate => "27/12/2023";
43+
public static string ReleaseDate => "11/01/2024";
4444
}
4545
}

Carter Games/Audio Manager/Code/Editor/Utility/Per User Settings/PerUserSettings.cs

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,15 @@ public static class PerUserSettings
5656
private static readonly string LibScrollRectPosId = $"{UniqueId}_CarterGames_AudioManager_EditorWindow_Tab01_LibScrollRectPos";
5757

5858
private static readonly string LastLibraryGroupEntryId = $"{UniqueId}_CarterGames_AudioManager_EditorWindow_Tab02_LibGroupIndex";
59+
private static readonly string GroupBtnScrollRectPosId = $"{UniqueId}_CarterGames_AudioManager_EditorWindow_Tab02_GroupBtnScrollRectPos";
5960
private static readonly string GroupScrollRectPosId = $"{UniqueId}_CarterGames_AudioManager_EditorWindow_Tab02_ScrollRectPos";
6061

6162
private static readonly string LastLibMixerEntryId = $"{UniqueId}_CarterGames_AudioManager_EditorWindow_Tab03_LibMixerIndex";
63+
private static readonly string MixerBtnScrollRectPosId = $"{UniqueId}_CarterGames_AudioManager_EditorWindow_Tab03_MixerBtnScrollRectPos";
6264
private static readonly string MixerScrollRectPosId = $"{UniqueId}_CarterGames_AudioManager_EditorWindow_Tab03_ScrollRectPos";
6365

6466
private static readonly string LastLibMusicEntryId = $"{UniqueId}_CarterGames_AudioManager_EditorWindow_Tab04_LibMusicIndex";
67+
private static readonly string MusicBtnScrollRectPosId = $"{UniqueId}_CarterGames_AudioManager_EditorWindow_Tab04_MusicBtnScrollRectPos";
6568
private static readonly string MusicScrollRectPosId = $"{UniqueId}_CarterGames_AudioManager_EditorWindow_Tab04_ScrollRectPos";
6669

6770
/* ─────────────────────────────────────────────────────────────────────────────────────────────────────────────
@@ -207,6 +210,16 @@ public static int LastLibraryGroupEntry
207210
/// <summary>
208211
/// The scroll rect pos of the group tab left GUI section.
209212
/// </summary>
213+
public static Vector2 GroupBtnScrollRectPos
214+
{
215+
get => (Vector2) GetOrCreateValue<Vector2>(GroupBtnScrollRectPosId, SettingType.EditorPref);
216+
set => SetValue<Vector2>(GroupBtnScrollRectPosId, SettingType.EditorPref, value);
217+
}
218+
219+
220+
/// <summary>
221+
/// The scroll rect pos of the group tab right GUI section.
222+
/// </summary>
210223
public static Vector2 GroupScrollRectPos
211224
{
212225
get => (Vector2) GetOrCreateValue<Vector2>(GroupScrollRectPosId, SettingType.EditorPref);
@@ -225,7 +238,17 @@ public static int LastLibMixerEntry
225238

226239

227240
/// <summary>
228-
/// The scroll rect pos of the group tab left GUI section.
241+
/// The scroll rect pos of the mixer tab left GUI section.
242+
/// </summary>
243+
public static Vector2 MixerBtnScrollRectPos
244+
{
245+
get => (Vector2) GetOrCreateValue<Vector2>(MixerBtnScrollRectPosId, SettingType.EditorPref);
246+
set => SetValue<Vector2>(MixerBtnScrollRectPosId, SettingType.EditorPref, value);
247+
}
248+
249+
250+
/// <summary>
251+
/// The scroll rect pos of the group tab right GUI section.
229252
/// </summary>
230253
public static Vector2 MixerScrollRectPos
231254
{
@@ -245,7 +268,17 @@ public static int LastLibMusicEntry
245268

246269

247270
/// <summary>
248-
/// The scroll rect pos of the music track list tab left GUI section.
271+
/// The scroll rect pos of the music tab left GUI section.
272+
/// </summary>
273+
public static Vector2 MusicBtnScrollRectPos
274+
{
275+
get => (Vector2) GetOrCreateValue<Vector2>(MusicBtnScrollRectPosId, SettingType.EditorPref);
276+
set => SetValue<Vector2>(MusicBtnScrollRectPosId, SettingType.EditorPref, value);
277+
}
278+
279+
280+
/// <summary>
281+
/// The scroll rect pos of the music track list tab right GUI section.
249282
/// </summary>
250283
public static Vector2 MusicScrollRectPos
251284
{

0 commit comments

Comments
 (0)