Skip to content

Commit 72d5498

Browse files
author
Wilhelm Berg
authored
Enable loading external configurations - take 2 (#552)
* carry over changes from #352 to latest develop * Fix the merge typo.
1 parent 2e57d66 commit 72d5498

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

sdkproject/Assets/Mapbox/Unity/Map/AbstractMap.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ namespace Mapbox.Unity.Map
55
using Utils;
66
using UnityEngine;
77
using Mapbox.Map;
8+
using System.Collections;
89

910
/// <summary>
1011
/// Abstract Map (Basic Map etc)
@@ -141,10 +142,16 @@ public void SetWorldRelativeScale(float scale)
141142
}
142143
public event Action OnInitialized = delegate { };
143144

145+
protected IEnumerator SetupAccess()
146+
{
147+
_fileSource = MapboxAccess.Instance;
148+
149+
yield return new WaitUntil(() => MapboxAccess.Configured);
150+
}
151+
144152
protected virtual void Awake()
145153
{
146154
_worldHeightFixed = false;
147-
_fileSource = MapboxAccess.Instance;
148155
_tileProvider.OnTileAdded += TileProvider_OnTileAdded;
149156
_tileProvider.OnTileRemoved += TileProvider_OnTileRemoved;
150157
_tileProvider.OnTileRepositioned += TileProvider_OnTileRepositioned;
@@ -154,8 +161,10 @@ protected virtual void Awake()
154161
}
155162
}
156163

157-
protected virtual void Start()
164+
protected void Start()
158165
{
166+
StartCoroutine("SetupAccess");
167+
159168
if (_initializeOnStart)
160169
{
161170
Initialize(Conversions.StringToLatLon(_latitudeLongitudeString), AbsoluteZoom);

sdkproject/Assets/Mapbox/Unity/MapboxAccess.cs

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class MapboxAccess : IFileSource
2525
public delegate void TokenValidationEvent(MapboxTokenStatus response);
2626
public event TokenValidationEvent OnTokenValidation;
2727

28-
static MapboxAccess _instance;
28+
private static MapboxAccess _instance;
2929

3030
/// <summary>
3131
/// The singleton instance.
@@ -43,7 +43,10 @@ public static MapboxAccess Instance
4343
}
4444

4545

46-
MapboxConfiguration _configuration;
46+
public static bool Configured;
47+
public static string ConfigurationJSON;
48+
private MapboxConfiguration _configuration;
49+
4750
/// <summary>
4851
/// The Mapbox API access token.
4952
/// </summary>
@@ -89,6 +92,8 @@ public void SetConfiguration(MapboxConfiguration configuration, bool throwExecpt
8992

9093
ConfigureFileSource();
9194
ConfigureTelemetry();
95+
96+
Configured = true;
9297
}
9398

9499

@@ -142,12 +147,16 @@ public void ClearAllCacheFiles()
142147
private void LoadAccessToken()
143148
{
144149

145-
TextAsset configurationTextAsset = Resources.Load<TextAsset>(Constants.Path.MAPBOX_RESOURCES_RELATIVE);
150+
if (string.IsNullOrEmpty(ConfigurationJSON))
151+
{
152+
TextAsset configurationTextAsset = Resources.Load<TextAsset>(Constants.Path.MAPBOX_RESOURCES_RELATIVE);
153+
ConfigurationJSON = configurationTextAsset.text;
154+
}
146155

147156
#if !WINDOWS_UWP
148-
SetConfiguration(configurationTextAsset == null ? null : JsonUtility.FromJson<MapboxConfiguration>(configurationTextAsset.text));
157+
SetConfiguration(ConfigurationJSON == null ? null : JsonUtility.FromJson<MapboxConfiguration>(ConfigurationJSON));
149158
#else
150-
SetConfiguration(configurationTextAsset == null ? null : Mapbox.Json.JsonConvert.DeserializeObject<MapboxConfiguration>(configurationTextAsset.text));
159+
SetConfiguration(ConfigurationJSON == null ? null : Mapbox.Json.JsonConvert.DeserializeObject<MapboxConfiguration>(ConfigurationJSON));
151160
#endif
152161
}
153162

0 commit comments

Comments
 (0)