Make the latest version request not resend each main menu load

This commit is contained in:
2025-06-05 15:29:51 -07:00
parent 73cf036569
commit 4a1b96d0bf
9 changed files with 380 additions and 29 deletions

View File

@@ -10762,6 +10762,52 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1644648865}
m_CullTransparentMesh: 1
--- !u!1 &1724546899
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1724546901}
- component: {fileID: 1724546900}
m_Layer: 0
m_Name: LatestVersionText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1724546900
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724546899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0ce6d4ae1a102accbe4dfb608a5b75e, type: 3}
m_Name:
m_EditorClassIdentifier:
text: {fileID: 0}
updateButton: {fileID: 0}
--- !u!4 &1724546901
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1724546899}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1728561204
GameObject:
m_ObjectHideFlags: 0
@@ -14172,5 +14218,6 @@ SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 720281946}
- {fileID: 1724546901}
- {fileID: 1094007101}
- {fileID: 682940903}

View File

@@ -2002,6 +2002,52 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1203455957}
m_CullTransparentMesh: 1
--- !u!1 &1261483214
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1261483216}
- component: {fileID: 1261483215}
m_Layer: 0
m_Name: LatestVersionText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1261483215
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1261483214}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0ce6d4ae1a102accbe4dfb608a5b75e, type: 3}
m_Name:
m_EditorClassIdentifier:
text: {fileID: 0}
updateButton: {fileID: 0}
--- !u!4 &1261483216
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1261483214}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1324594959
GameObject:
m_ObjectHideFlags: 0
@@ -3003,6 +3049,7 @@ SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 519420032}
- {fileID: 1261483216}
- {fileID: 1625416040}
- {fileID: 808236451}
- {fileID: 1811565639}

View File

@@ -2599,6 +2599,52 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 817018164}
m_CullTransparentMesh: 1
--- !u!1 &834607533
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 834607535}
- component: {fileID: 834607534}
m_Layer: 0
m_Name: LatestVersionText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &834607534
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 834607533}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0ce6d4ae1a102accbe4dfb608a5b75e, type: 3}
m_Name:
m_EditorClassIdentifier:
text: {fileID: 0}
updateButton: {fileID: 0}
--- !u!4 &834607535
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 834607533}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &839120340
GameObject:
m_ObjectHideFlags: 0
@@ -6202,5 +6248,6 @@ SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 1062570983}
- {fileID: 834607535}
- {fileID: 1844786183}
- {fileID: 2134364725}

View File

@@ -2437,6 +2437,52 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 30}
m_Pivot: {x: 0.5, y: 1}
--- !u!1 &1711730330
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1711730332}
- component: {fileID: 1711730331}
m_Layer: 0
m_Name: LatestVersionText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1711730331
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1711730330}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0ce6d4ae1a102accbe4dfb608a5b75e, type: 3}
m_Name:
m_EditorClassIdentifier:
text: {fileID: 0}
updateButton: {fileID: 0}
--- !u!4 &1711730332
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1711730330}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1796839150
GameObject:
m_ObjectHideFlags: 0
@@ -3092,6 +3138,7 @@ SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 1455063616}
- {fileID: 1711730332}
- {fileID: 1991415992}
- {fileID: 639712736}
- {fileID: 1820585371}

View File

@@ -712,6 +712,52 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 798394518}
m_CullTransparentMesh: 1
--- !u!1 &842325108
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 842325110}
- component: {fileID: 842325109}
m_Layer: 0
m_Name: LatestVersionText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &842325109
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 842325108}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0ce6d4ae1a102accbe4dfb608a5b75e, type: 3}
m_Name:
m_EditorClassIdentifier:
text: {fileID: 0}
updateButton: {fileID: 0}
--- !u!4 &842325110
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 842325108}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1024664076
GameObject:
m_ObjectHideFlags: 0
@@ -1110,5 +1156,6 @@ SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 705564545}
- {fileID: 842325110}
- {fileID: 734849810}
- {fileID: 759356942}

View File

@@ -255,6 +255,52 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 40776219}
m_CullTransparentMesh: 1
--- !u!1 &101625091
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 101625093}
- component: {fileID: 101625092}
m_Layer: 0
m_Name: LatestVersionText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &101625092
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 101625091}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0ce6d4ae1a102accbe4dfb608a5b75e, type: 3}
m_Name:
m_EditorClassIdentifier:
text: {fileID: 0}
updateButton: {fileID: 0}
--- !u!4 &101625093
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 101625091}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &263297568
GameObject:
m_ObjectHideFlags: 0
@@ -690,7 +736,7 @@ Transform:
m_GameObject: {fileID: 583716565}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 379.66296, y: 442.51105, z: 0}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -709,6 +755,8 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
exitButton: {fileID: 1354600018}
updateText: {fileID: 673338280}
updateButton: {fileID: 1292044491}
--- !u!1 &673338277
GameObject:
m_ObjectHideFlags: 0
@@ -720,7 +768,6 @@ GameObject:
- component: {fileID: 673338278}
- component: {fileID: 673338281}
- component: {fileID: 673338280}
- component: {fileID: 673338282}
m_Layer: 5
m_Name: LatestVersionText
m_TagString: Untagged
@@ -847,19 +894,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 673338277}
m_CullTransparentMesh: 1
--- !u!114 &673338282
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 673338277}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0ce6d4ae1a102accbe4dfb608a5b75e, type: 3}
m_Name:
m_EditorClassIdentifier:
updateButton: {fileID: 1292044491}
--- !u!1 &889892184
GameObject:
m_ObjectHideFlags: 0
@@ -2836,6 +2870,7 @@ SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 519420032}
- {fileID: 101625093}
- {fileID: 583716567}
- {fileID: 1263503583}
- {fileID: 1513462405}

View File

@@ -582,6 +582,52 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: -145}
m_SizeDelta: {x: 600, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &233625535
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 233625537}
- component: {fileID: 233625536}
m_Layer: 0
m_Name: LatestVersionText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &233625536
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 233625535}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0ce6d4ae1a102accbe4dfb608a5b75e, type: 3}
m_Name:
m_EditorClassIdentifier:
text: {fileID: 0}
updateButton: {fileID: 0}
--- !u!4 &233625537
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 233625535}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &313320701
GameObject:
m_ObjectHideFlags: 0
@@ -3076,5 +3122,6 @@ SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 313320704}
- {fileID: 233625537}
- {fileID: 1246405077}
- {fileID: 99615555}

View File

@@ -5,25 +5,40 @@ using UnityEngine.UI;
public class LatestVersionText : MonoBehaviour
{
public static LatestVersionText Instance;
public TMP_Text text;
public Button updateButton;
private TMP_Text text;
private string latest = null;
void Awake()
{
text = gameObject.GetComponent<TMP_Text>();
updateButton.onClick.AddListener(() =>
if (Instance != null && Instance != this)
{
Application.OpenURL("https://berrydash.lncvrt.xyz/download");
});
if (Application.platform == RuntimePlatform.WebGLPlayer)
Destroy(gameObject);
return;
}
Instance = this;
DontDestroyOnLoad(gameObject);
if (updateButton != null)
{
text.text = "";
updateButton.onClick.AddListener(() =>
{
Application.OpenURL("https://berrydash.lncvrt.xyz/download");
});
}
}
void Start()
{
if (Application.platform != RuntimePlatform.WebGLPlayer) GetLatestVersion();
RefreshText();
if (Application.platform != RuntimePlatform.WebGLPlayer && latest == null) GetLatestVersion();
}
void OnEnable()
{
RefreshText();
}
async void GetLatestVersion()
@@ -35,14 +50,26 @@ public class LatestVersionText : MonoBehaviour
await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success)
{
text.text = "Latest: N/A";
return;
latest = "-1";
}
string response = request.downloadHandler.text;
text.text = "Latest: v" + response;
if (response != Application.version)
else
{
updateButton.gameObject.SetActive(true);
latest = request.downloadHandler.text;
}
RefreshText();
if (latest != Application.version && updateButton != null) updateButton.gameObject.SetActive(true);
}
public void RefreshText()
{
if (text == null) return;
if (Application.platform == RuntimePlatform.WebGLPlayer)
text.text = "";
else if (latest == null)
text.text = "Latest: Loading...";
else if (latest == "-1")
text.text = "Latest: N/A";
else
text.text = "Latest: " + latest;
}
}

View File

@@ -1,12 +1,19 @@
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class MenuScript : MonoBehaviour
{
public Button exitButton;
public TMP_Text updateText;
public Button updateButton;
void Awake()
{
LatestVersionText.Instance.text = updateText;
LatestVersionText.Instance.updateButton = updateButton;
LatestVersionText.Instance.RefreshText();
if (Application.isMobilePlatform || Application.isEditor || Application.platform == RuntimePlatform.WebGLPlayer)
{
exitButton.gameObject.SetActive(false);