diff --git a/dependencies/mapbox-sdk-cs b/dependencies/mapbox-sdk-cs index d4850704d..4824dab71 160000 --- a/dependencies/mapbox-sdk-cs +++ b/dependencies/mapbox-sdk-cs @@ -1 +1 @@ -Subproject commit d4850704db12269df261ff61aea999fef542e3f6 +Subproject commit 4824dab71812725cf34859f77757f5786cb3b6b4 diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/MapImageFactory.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/MapImageFactory.cs index 4f6ad271c..7a8b64bc7 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/MapImageFactory.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/MapImageFactory.cs @@ -72,7 +72,7 @@ private void Run(UnityTile tile) var rasterTile = parameters.MapId.StartsWith("mapbox://") ? new RasterTile() : new ClassicRasterTile(); rasterTile.Initialize(parameters, (Action)(() => { - if (rasterTile.Error != null) + if (rasterTile.HasError) { tile.ImageDataState = TilePropertyState.Error; return; diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/MeshFactory.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/MeshFactory.cs index 31704b475..fae3d643e 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/MeshFactory.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/MeshFactory.cs @@ -1,17 +1,18 @@ namespace Mapbox.Unity.MeshGeneration.Factories { - using System.Collections.Generic; - using UnityEngine; - using Mapbox.Unity.MeshGeneration.Enums; - using Mapbox.Unity.MeshGeneration.Data; - using Mapbox.Unity.MeshGeneration.Interfaces; - using Mapbox.Platform; + using System.Collections.Generic; + using UnityEngine; + using Mapbox.Unity.MeshGeneration.Enums; + using Mapbox.Unity.MeshGeneration.Data; + using Mapbox.Unity.MeshGeneration.Interfaces; + using Mapbox.Platform; + using System.Linq; - /// - /// Uses vector tile api to visualize vector data. - /// Fetches the vector data for given tile and passes layer data to layer visualizers. - /// - [CreateAssetMenu(menuName = "Mapbox/Factories/Mesh Factory")] + /// + /// Uses vector tile api to visualize vector data. + /// Fetches the vector data for given tile and passes layer data to layer visualizers. + /// + [CreateAssetMenu(menuName = "Mapbox/Factories/Mesh Factory")] public class MeshFactory : Factory { [SerializeField] @@ -107,9 +108,9 @@ private void CreateMeshes(UnityTile tile, object e) var vectorTile = new Mapbox.Map.VectorTile(); vectorTile.Initialize(parameters, () => { - if (vectorTile.Error != null) + if (vectorTile.HasError) { - Debug.Log(vectorTile.Error); + Debug.Log(string.Join(System.Environment.NewLine, vectorTile.Exceptions.Select(ex=>ex.Message).ToArray())); return; } diff --git a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/TerrainFactory.cs b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/TerrainFactory.cs index a6dae00f0..6a4cd6e6c 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/TerrainFactory.cs +++ b/sdkproject/Assets/Mapbox/Core/Unity/MeshGeneration/Factories/TerrainFactory.cs @@ -112,7 +112,7 @@ private void CreateTerrainHeight(UnityTile tile, float heightMultiplier = 1) var pngRasterTile = new RawPngRasterTile(); pngRasterTile.Initialize(parameters, () => { - if (pngRasterTile.Error != null) + if (pngRasterTile.HasError) { tile.HeightDataState = TilePropertyState.Error; return; diff --git a/sdkproject/Assets/Mapbox/Core/Unity/Utilities/DispatcherEditor.cs b/sdkproject/Assets/Mapbox/Core/Unity/Utilities/DispatcherEditor.cs new file mode 100644 index 000000000..55f57bc3e --- /dev/null +++ b/sdkproject/Assets/Mapbox/Core/Unity/Utilities/DispatcherEditor.cs @@ -0,0 +1,51 @@ +namespace Mapbox.Unity { + + + using System; + using System.Collections.Generic; + using System.Threading; + using UnityEditor; + + + [InitializeOnLoad] + public static class DispatcherEditor { + + + static DispatcherEditor() { + _mainThread = Thread.CurrentThread; + EditorApplication.update += Update; + } + + + private static object _lock = new object(); + private static readonly Queue _actions = new Queue(); + private static Thread _mainThread; + + + private static bool isMainThread { + get { return Thread.CurrentThread == _mainThread; } + } + + + public static void Update() { + lock (_lock) { + while (_actions.Count > 0) { + _actions.Dequeue()(); + } + } + } + + + public static void InvokeAsync(Action action) { + if (isMainThread) { + action(); + }else { + lock (_lock) { + _actions.Enqueue(action); + } + } + } + + + } +} \ No newline at end of file diff --git a/sdkproject/Assets/Mapbox/Core/Unity/Utilities/HTTPRequest.cs b/sdkproject/Assets/Mapbox/Core/Unity/Utilities/HTTPRequest.cs deleted file mode 100644 index 7ceb45546..000000000 --- a/sdkproject/Assets/Mapbox/Core/Unity/Utilities/HTTPRequest.cs +++ /dev/null @@ -1,61 +0,0 @@ -//----------------------------------------------------------------------- -// -// Copyright (c) 2016 Mapbox. All rights reserved. -// -//----------------------------------------------------------------------- - -namespace Mapbox.Unity.Utilities -{ - using System; - using UnityEngine.Networking; - using System.Collections; - using Mapbox.Platform; - -#if UNITY_EDITOR - using UnityEditor; -#endif - - internal sealed class HTTPRequest : IAsyncRequest - { - private UnityWebRequest _request; - private readonly Action _callback; - - public HTTPRequest(string url, Action callback) - { - _request = UnityWebRequest.Get(url); - _callback = callback; - -#if UNITY_EDITOR - if (!EditorApplication.isPlaying) - { - Runnable.EnableRunnableInEditor(); - } -#endif - Runnable.Run(DoRequest()); - } - - public void Cancel() - { - if (_request != null) - { - _request.Abort(); - } - } - - private IEnumerator DoRequest() - { - _request.Send(); - while (!_request.isDone) - { - yield return 0; - } - var response = new Response(); - response.Error = this._request.error; - response.Data = this._request.downloadHandler.data; - - _callback(response); - _request.Dispose(); - _request = null; - } - } -} diff --git a/sdkproject/Assets/Mapbox/Examples/Playground/Scripts/RasterTileExample.cs b/sdkproject/Assets/Mapbox/Examples/Playground/Scripts/RasterTileExample.cs index c08d5aa96..ddd13065d 100644 --- a/sdkproject/Assets/Mapbox/Examples/Playground/Scripts/RasterTileExample.cs +++ b/sdkproject/Assets/Mapbox/Examples/Playground/Scripts/RasterTileExample.cs @@ -118,7 +118,7 @@ void ToggleDropdownStyles(int target) /// Tile. public void OnNext(RasterTile tile) { - if (tile.CurrentState != Tile.State.Loaded || tile.Error != null) + if (tile.CurrentState != Tile.State.Loaded || tile.HasError) { return; } diff --git a/sdkproject/Assets/Mapbox/Examples/Playground/Scripts/VectorTileExample.cs b/sdkproject/Assets/Mapbox/Examples/Playground/Scripts/VectorTileExample.cs index a69241de7..24da900ed 100644 --- a/sdkproject/Assets/Mapbox/Examples/Playground/Scripts/VectorTileExample.cs +++ b/sdkproject/Assets/Mapbox/Examples/Playground/Scripts/VectorTileExample.cs @@ -80,7 +80,7 @@ void Redraw() /// Tile. public void OnNext(VectorTile tile) { - if (tile.CurrentState != Tile.State.Loaded || tile.Error != null) + if (tile.CurrentState != Tile.State.Loaded || tile.HasError) { return; } diff --git a/sdkproject/Assets/Mapbox/Examples/Voxels/Scripts/VoxelTile.cs b/sdkproject/Assets/Mapbox/Examples/Voxels/Scripts/VoxelTile.cs index 3ad580043..659c69ee8 100644 --- a/sdkproject/Assets/Mapbox/Examples/Voxels/Scripts/VoxelTile.cs +++ b/sdkproject/Assets/Mapbox/Examples/Voxels/Scripts/VoxelTile.cs @@ -116,7 +116,7 @@ void FetchWorldData(Vector2d coordinates) public void OnNext(RasterTile tile) { - if (tile.CurrentState == Tile.State.Loaded && string.IsNullOrEmpty(tile.Error)) + if (tile.CurrentState == Tile.State.Loaded && !tile.HasError) { _rasterTexture = new Texture2D(2, 2); _rasterTexture.LoadImage(tile.Data); @@ -131,7 +131,7 @@ public void OnNext(RasterTile tile) public void OnNext(RawPngRasterTile tile) { - if (tile.CurrentState == Tile.State.Loaded && string.IsNullOrEmpty(tile.Error)) + if (tile.CurrentState == Tile.State.Loaded && !tile.HasError) { _elevationTexture = new Texture2D(2, 2); _elevationTexture.LoadImage(tile.Data); diff --git a/sdkproject/Assets/ThirdPartyAssets/UnityToolbagDispatcher.meta b/sdkproject/Assets/ThirdPartyAssets/UnityToolbagDispatcher.meta new file mode 100644 index 000000000..e898ff19b --- /dev/null +++ b/sdkproject/Assets/ThirdPartyAssets/UnityToolbagDispatcher.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9b8e3a59ff0dc4000a4fda4d9fa6931d +folderAsset: yes +timeCreated: 1493311191 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/sdkproject/Assets/ThirdPartyAssets/UnityToolbagDispatcher/Dispatcher.cs b/sdkproject/Assets/ThirdPartyAssets/UnityToolbagDispatcher/Dispatcher.cs new file mode 100644 index 000000000..c76ef5f1c --- /dev/null +++ b/sdkproject/Assets/ThirdPartyAssets/UnityToolbagDispatcher/Dispatcher.cs @@ -0,0 +1,114 @@ +using UnityEngine; +using System; +using System.Collections.Generic; +using System.Threading; + +namespace UnityToolbag { + /// + /// A system for dispatching code to execute on the main thread. + /// + [AddComponentMenu("UnityToolbag/Dispatcher")] + public class Dispatcher : MonoBehaviour { + private static Dispatcher _instance; + + // We can't use the behaviour reference from other threads, so we use a separate bool + // to track the instance so we can use that on the other threads. + // edit by BergWerkGIS: make public to see if dispatcher is attached + public static bool _instanceExists; + + private static Thread _mainThread; + private static object _lockObject = new object(); + private static readonly Queue _actions = new Queue(); + + /// + /// Gets a value indicating whether or not the current thread is the game's main thread. + /// + public static bool isMainThread { + get { + return Thread.CurrentThread == _mainThread; + } + } + + /// + /// Queues an action to be invoked on the main game thread. + /// + /// The action to be queued. + public static void InvokeAsync(Action action) { + + if (!_instanceExists) { + Debug.LogError("No Dispatcher exists in the scene. Actions will not be invoked!"); + return; + } + + if (isMainThread) { + // Don't bother queuing work on the main thread; just execute it. + action(); + } else { + lock (_lockObject) { + _actions.Enqueue(action); + } + } + } + + /// + /// Queues an action to be invoked on the main game thread and blocks the + /// current thread until the action has been executed. + /// + /// The action to be queued. + public static void Invoke(Action action) { + + if (!_instanceExists) { + Debug.LogError("No Dispatcher exists in the scene. Actions will not be invoked!"); + return; + } + + + bool hasRun = false; + + InvokeAsync(() => { + action(); + hasRun = true; + }); + + // Lock until the action has run + while (!hasRun) { +#if !NETFX_CORE + Thread.Sleep(5); +#else + System.Threading.Tasks.Task.Delay(5).Wait(); +#endif + } + } + + void Awake() { + if (_instance) { + DestroyImmediate(this); + } else { + _instance = this; + _instanceExists = true; + _mainThread = Thread.CurrentThread; + } + } + + void OnDestroy() { + if (_instance == this) { + _instance = null; + _instanceExists = false; + } + } + + //int cnt = 0; + void Update() { + //cnt++; + //if (cnt < 100) { return; } + //cnt = 0; + ////if (_actions.Count > 0) UnityEngine.Debug.Log("-------------------- update -----------------" + DateTime.Now.Ticks); + lock (_lockObject) { + while (_actions.Count > 0) { + //UnityEngine.Debug.Log("QUEUE: " + _actions.Count + " " + DateTime.Now.Ticks); + _actions.Dequeue()(); + } + } + } + } +} diff --git a/sdkproject/Assets/Mapbox/Core/Unity/Utilities/HTTPRequest.cs.meta b/sdkproject/Assets/ThirdPartyAssets/UnityToolbagDispatcher/Dispatcher.cs.meta similarity index 75% rename from sdkproject/Assets/Mapbox/Core/Unity/Utilities/HTTPRequest.cs.meta rename to sdkproject/Assets/ThirdPartyAssets/UnityToolbagDispatcher/Dispatcher.cs.meta index 6379afd9e..99c6c3dc6 100644 --- a/sdkproject/Assets/Mapbox/Core/Unity/Utilities/HTTPRequest.cs.meta +++ b/sdkproject/Assets/ThirdPartyAssets/UnityToolbagDispatcher/Dispatcher.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 0af41ebc1f8e7485d93cb4b9070e9d1a -timeCreated: 1482363481 +guid: dd2511162df91294fa0c4ea0b0d740ed +timeCreated: 1493142390 licenseType: Pro MonoImporter: serializedVersion: 2 diff --git a/sdkproject/Assets/ThreadedSlippyTest.unity b/sdkproject/Assets/ThreadedSlippyTest.unity new file mode 100644 index 000000000..5156731da --- /dev/null +++ b/sdkproject/Assets/ThreadedSlippyTest.unity @@ -0,0 +1,591 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 7 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.58823526, g: 0.58823526, b: 0.58823526, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 7 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 4 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_DirectLightInLightProbes: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_LightingDataAsset: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: 0.16666667 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &743593631 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 743593633} + - 108: {fileID: 743593632} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &743593632 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 743593631} + m_Enabled: 1 + serializedVersion: 7 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 0.64 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &743593633 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 743593631} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1 &1281281112 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1281281117} + - 20: {fileID: 1281281116} + - 92: {fileID: 1281281115} + - 124: {fileID: 1281281114} + - 81: {fileID: 1281281113} + - 114: {fileID: 1281281118} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1281281113 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1281281112} + m_Enabled: 1 +--- !u!124 &1281281114 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1281281112} + m_Enabled: 1 +--- !u!92 &1281281115 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1281281112} + m_Enabled: 1 +--- !u!20 &1281281116 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1281281112} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 5000 + field of view: 33 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &1281281117 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1281281112} + m_LocalRotation: {x: 0.53729963, y: 0, z: 0, w: 0.8433915} + m_LocalPosition: {x: 0, y: 2490, z: -1075} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 65, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &1281281118 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1281281112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9527fd56bc6a0c549a1e550219f9b16e, type: 3} + m_Name: + m_EditorClassIdentifier: + Speed: 100 +--- !u!1 &1378964790 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1378964791} + - 222: {fileID: 1378964793} + - 114: {fileID: 1378964792} + m_Layer: 5 + m_Name: KeyboardControls + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1378964791 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1378964790} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1380781977} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 300} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1378964792 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1378964790} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 69 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 119 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Use W, A, S, D to pan the map. + + New tiles will load in as needed.' +--- !u!222 &1378964793 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1378964790} +--- !u!1 &1380781973 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1380781977} + - 223: {fileID: 1380781976} + - 114: {fileID: 1380781975} + - 114: {fileID: 1380781974} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1380781974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380781973} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1380781975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380781973} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1380781976 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380781973} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1380781977 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380781973} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1515605196} + - {fileID: 1378964791} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1461465686 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1461465688} + - 114: {fileID: 1461465687} + - 114: {fileID: 1461465689} + - 114: {fileID: 1461465690} + m_Layer: 0 + m_Name: MapController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1461465687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461465686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c57173fef834bb94098b65581fb4f0e4, type: 3} + m_Name: + m_EditorClassIdentifier: + MapVisualization: {fileID: 11400000, guid: 7f949b7bf234f3049adb4259192eda3d, type: 2} + TileSize: 100 + _snapYToZero: 1 + LatLng: 69.5419324, 20.5512521 + Zoom: 12 + Range: {x: 10, y: 10, z: 10, w: 10} +--- !u!4 &1461465688 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461465686} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 +--- !u!114 &1461465689 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461465686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd2511162df91294fa0c4ea0b0d740ed, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1461465690 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461465686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ab322f3f81267624dbd388daa9e37945, type: 3} + m_Name: + m_EditorClassIdentifier: + _range: 2 +--- !u!1 &1515605195 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1515605196} + m_Layer: 5 + m_Name: PoiContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1515605196 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1515605195} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1380781977} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1677468913 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1677468916} + - 114: {fileID: 1677468915} + - 114: {fileID: 1677468914} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1677468914 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1677468913} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1677468915 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1677468913} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1677468916 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1677468913} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 diff --git a/sdkproject/Assets/ThreadedSlippyTest.unity.meta b/sdkproject/Assets/ThreadedSlippyTest.unity.meta new file mode 100644 index 000000000..42543f9c7 --- /dev/null +++ b/sdkproject/Assets/ThreadedSlippyTest.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fc656e4496ae0405d9151bf8fe400732 +timeCreated: 1493063572 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: