mirror of
https://github.com/sinai-dev/UnityExplorer.git
synced 2025-06-16 22:27:45 +08:00
Use Application.unityVersion to load appropriate AssetBundle
And fix issue with Dropdowns and Time input label not refreshing properly on launch
This commit is contained in:
parent
9ca992b0d7
commit
802bb722bc
BIN
src/Resources/legacy.5.6.bundle
Normal file
BIN
src/Resources/legacy.5.6.bundle
Normal file
Binary file not shown.
@ -121,6 +121,12 @@ namespace UnityExplorer.UI
|
|||||||
lastScreenWidth = Screen.width;
|
lastScreenWidth = Screen.width;
|
||||||
lastScreenHeight = Screen.height;
|
lastScreenHeight = Screen.height;
|
||||||
|
|
||||||
|
// Failsafe fix
|
||||||
|
foreach (var dropdown in CanvasRoot.GetComponentsInChildren<Dropdown>(true))
|
||||||
|
dropdown.RefreshShownValue();
|
||||||
|
timeInput.Text = string.Empty;
|
||||||
|
timeInput.Text = Time.timeScale.ToString();
|
||||||
|
|
||||||
Initializing = false;
|
Initializing = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -404,18 +410,41 @@ namespace UnityExplorer.UI
|
|||||||
closeBtn.OnClick += OnCloseButtonClicked;
|
closeBtn.OnClick += OnCloseButtonClicked;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region UI AssetBundle
|
// UI AssetBundle
|
||||||
|
|
||||||
private static void LoadBundle()
|
private static void LoadBundle()
|
||||||
{
|
{
|
||||||
AssetBundle bundle = null;
|
AssetBundle bundle = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
bundle = LoadBundle("modern");
|
// Get the Unity version (without the 'f_' suffix).
|
||||||
if (bundle == null)
|
Version version = new Version(Application.unityVersion.Substring(0, Application.unityVersion.LastIndexOf('f')));
|
||||||
bundle = LoadBundle("legacy");
|
|
||||||
|
// Use appropriate AssetBundle for Unity version
|
||||||
|
// >= 2017.3
|
||||||
|
if (version.Major > 2017 || (version.Major == 2017 && version.Minor >= 3))
|
||||||
|
bundle = LoadBundle("modern");
|
||||||
|
// 5.6.0 to 2017.3
|
||||||
|
else if (version.Major == 2017 || (version.Major == 5 && version.Minor >= 6))
|
||||||
|
bundle = LoadBundle("legacy.5.6");
|
||||||
|
// < 5.6.0
|
||||||
|
else
|
||||||
|
bundle = LoadBundle("legacy");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
ExplorerCore.LogWarning($"Exception loading Explorer AssetBundle!");
|
||||||
|
ExplorerCore.Log(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
AssetBundle LoadBundle(string id)
|
||||||
|
{
|
||||||
|
ExplorerCore.Log($"Loading {id} bundle for Unity {Application.unityVersion}");
|
||||||
|
|
||||||
|
return AssetBundle.LoadFromMemory(ReadFully(typeof(ExplorerCore)
|
||||||
|
.Assembly
|
||||||
|
.GetManifestResourceStream($"UnityExplorer.Resources.{id}.bundle")));
|
||||||
}
|
}
|
||||||
catch { }
|
|
||||||
|
|
||||||
if (bundle == null)
|
if (bundle == null)
|
||||||
{
|
{
|
||||||
@ -438,14 +467,6 @@ namespace UnityExplorer.UI
|
|||||||
ConsoleFont = bundle.LoadAsset<Font>("CONSOLA");
|
ConsoleFont = bundle.LoadAsset<Font>("CONSOLA");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static AssetBundle LoadBundle(string id)
|
|
||||||
{
|
|
||||||
var stream = typeof(ExplorerCore).Assembly
|
|
||||||
.GetManifestResourceStream($"UnityExplorer.Resources.explorerui.{id}.bundle");
|
|
||||||
|
|
||||||
return AssetBundle.LoadFromMemory(ReadFully(stream));
|
|
||||||
}
|
|
||||||
|
|
||||||
private static byte[] ReadFully(Stream input)
|
private static byte[] ReadFully(Stream input)
|
||||||
{
|
{
|
||||||
using (var ms = new MemoryStream())
|
using (var ms = new MemoryStream())
|
||||||
@ -457,7 +478,5 @@ namespace UnityExplorer.UI
|
|||||||
return ms.ToArray();
|
return ms.ToArray();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user