├── .gitignore ├── LICENSE ├── README.md └── src ├── Real World Map Data ├── Assembly-CSharp-Editor.csproj ├── Assets │ ├── Art.meta │ ├── Art │ │ ├── Basic Road.mat │ │ ├── Basic Road.mat.meta │ │ ├── Brick-2400b.jpg │ │ ├── Brick-2400b.jpg.meta │ │ ├── Brick.mat │ │ ├── Brick.mat.meta │ │ ├── Building.mat │ │ ├── Building.mat.meta │ │ ├── Ground.mat │ │ ├── Ground.mat.meta │ │ ├── asphalt_texture_seamless_by_rfalworth-d6y71cv.jpg │ │ ├── asphalt_texture_seamless_by_rfalworth-d6y71cv.jpg.meta │ │ ├── sand.jpg │ │ └── sand.jpg.meta │ ├── Resources.meta │ ├── Scripts.meta │ └── Scripts │ │ ├── Editor.meta │ │ └── Editor │ │ ├── OpenMapImporter.meta │ │ └── OpenMapImporter │ │ ├── BaseInfrastructureMaker.cs │ │ ├── BaseInfrastructureMaker.cs.meta │ │ ├── BuildingMaker.cs │ │ ├── BuildingMaker.cs.meta │ │ ├── ImportMapDataEditorWindow.cs │ │ ├── ImportMapDataEditorWindow.cs.meta │ │ ├── ImportMapWrapper.cs │ │ ├── ImportMapWrapper.cs.meta │ │ ├── MapReader.cs │ │ ├── MapReader.cs.meta │ │ ├── MercatorProjection.cs │ │ ├── MercatorProjection.cs.meta │ │ ├── RoadMaker.cs │ │ ├── RoadMaker.cs.meta │ │ ├── Serialization.meta │ │ └── Serialization │ │ ├── BaseOsm.cs │ │ ├── BaseOsm.cs.meta │ │ ├── OsmBounds.cs │ │ ├── OsmBounds.cs.meta │ │ ├── OsmNode.cs │ │ ├── OsmNode.cs.meta │ │ ├── OsmWay.cs │ │ └── OsmWay.cs.meta ├── MapTutorial.Editor.Plugins.csproj ├── MapTutorial.Plugins.csproj ├── MapTutorial.csproj ├── MapTutorial.sln ├── Packages │ └── manifest.json ├── ProjectSettings │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── NavMeshAreas.asset │ ├── NetworkManager.asset │ ├── Physics2DSettings.asset │ ├── PresetManager.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── TagManager.asset │ ├── TimeManager.asset │ ├── UnityConnectSettings.asset │ └── VFXManager.asset ├── Real World Map Data.Editor.csproj ├── Real World Map Data.csproj └── Real World Map Data.sln └── Scene Based Real World Map Data ├── Assembly-CSharp.csproj ├── Assets ├── Art.meta ├── Art │ ├── Basic Road.mat │ ├── Basic Road.mat.meta │ ├── Brick-2400b.jpg │ ├── Brick-2400b.jpg.meta │ ├── Brick.mat │ ├── Brick.mat.meta │ ├── Building.mat │ ├── Building.mat.meta │ ├── Ground.mat │ ├── Ground.mat.meta │ ├── asphalt_texture_seamless_by_rfalworth-d6y71cv.jpg │ ├── asphalt_texture_seamless_by_rfalworth-d6y71cv.jpg.meta │ ├── sand.jpg │ └── sand.jpg.meta ├── Resources.meta ├── Resources │ ├── copyright.txt │ ├── copyright.txt.meta │ ├── mountflorida.txt │ ├── mountflorida.txt.meta │ ├── ny.txt │ ├── ny.txt.meta │ ├── paris.txt │ ├── paris.txt.meta │ ├── toronto.txt │ └── toronto.txt.meta ├── Scenes.meta ├── Scenes │ ├── Map Reader Test.unity │ └── Map Reader Test.unity.meta ├── Scripts.meta └── Scripts │ ├── BuildingMaker.cs │ ├── BuildingMaker.cs.meta │ ├── InfrastructureBehaviour.cs │ ├── InfrastructureBehaviour.cs.meta │ ├── MapReader.cs │ ├── MapReader.cs.meta │ ├── MercatorProjection.cs │ ├── MercatorProjection.cs.meta │ ├── RoadMaker.cs │ ├── RoadMaker.cs.meta │ ├── Serialization.meta │ └── Serialization │ ├── BaseOsm.cs │ ├── BaseOsm.cs.meta │ ├── OsmBounds.cs │ ├── OsmBounds.cs.meta │ ├── OsmNode.cs │ ├── OsmNode.cs.meta │ ├── OsmWay.cs │ └── OsmWay.cs.meta ├── MapTutorial.Editor.Plugins.csproj ├── MapTutorial.Plugins.csproj ├── MapTutorial.csproj ├── MapTutorial.sln ├── Packages └── manifest.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset └── VFXManager.asset └── Scene Based Real World Map Data.sln /.gitignore: -------------------------------------------------------------------------------- 1 | src/Real World Map Data/Assets/Resources/ 2 | src/Real World Map Data/Library/ 3 | src/Real World Map Data/Temp/ 4 | src/Scene Based Real World Map Data/Library/ 5 | src/Scene Based Real World Map Data/Temp/ 6 | src/Scene Based Real World Map Data/obj/ 7 | src/Scene Based Real World Map Data/.vs/ 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Sloan Kelly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 2023-11-24 2 | Moved the default branch from `master` to `main`. If you fix a bug, please branch off main and do a pull request. Thanks! 3 | 4 | # Real World Map Data in Unity 5 | Data from Open Street Map (http://openstreetmap.org) can be imported into Unity at run-time or design-time using the scripts from the projects in this repository. 6 | 7 | Both scripts require you to export map data (a .osm file) and rename it to a .txt file. In the case of the run-time version of the scripts you will usually place these .txt files in the "Resources" folder. For the design-time version you can store them on your local hard disk. 8 | 9 | ## src/Read World Map Data 10 | A design-time set of scripts to import Open Street Map data. 11 | 12 | ## src/Scene Based Real World Map Data 13 | A run-time set of scripts to build a world during the run of a game. 14 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5000e8726d597b646b56e266122917e6 3 | folderAsset: yes 4 | timeCreated: 1488659086 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/Basic Road.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/Assets/Art/Basic Road.mat -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/Basic Road.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e1c40c1bb4703a4689866a9ef8e123b 3 | timeCreated: 1488660482 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/Brick-2400b.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/Assets/Art/Brick-2400b.jpg -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/Brick-2400b.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38d3e54f2acf0dc4d8ead60720c7d123 3 | timeCreated: 1488738300 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/Brick.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/Assets/Art/Brick.mat -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/Brick.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 163f1f36db110a24ea5252e64771bed3 3 | timeCreated: 1488738310 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/Building.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/Assets/Art/Building.mat -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/Building.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af944d833c4deb84381f58dbb674300d 3 | timeCreated: 1488659093 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/Ground.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/Assets/Art/Ground.mat -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/Ground.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 505e75a86ad74104e9e6972654fb67d5 3 | timeCreated: 1488669896 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/asphalt_texture_seamless_by_rfalworth-d6y71cv.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/Assets/Art/asphalt_texture_seamless_by_rfalworth-d6y71cv.jpg -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/asphalt_texture_seamless_by_rfalworth-d6y71cv.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20d389454f9056d4cacfdacb97381bdd 3 | timeCreated: 1488660708 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 0 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/sand.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/Assets/Art/sand.jpg -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Art/sand.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29719c0cc2768484ea35e47037c8391a 3 | timeCreated: 1488669886 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee159e798aff50f44a0e2bb9f035a463 3 | folderAsset: yes 4 | timeCreated: 1488651739 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7187933fbe3ba84fa5f84f5c1bc73c7 3 | folderAsset: yes 4 | timeCreated: 1488651743 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 108d17071ba52694ba1cc3cf88e09a98 3 | folderAsset: yes 4 | timeCreated: 1532187532 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 99e91fa494a5ed64f9947f872c8a748c 3 | folderAsset: yes 4 | timeCreated: 1532187532 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/BaseInfrastructureMaker.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | /* 5 | Copyright (c) 2017 Sloan Kelly 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | */ 25 | 26 | /// 27 | /// Base infrastructure creator. 28 | /// 29 | internal abstract class BaseInfrastructureMaker 30 | { 31 | /// 32 | /// The map reader object; contains all the data to build procedural geometry. 33 | /// 34 | protected MapReader map; 35 | 36 | /// 37 | /// The number of nodes present of this type in a file. 38 | /// 39 | public abstract int NodeCount { get; } 40 | 41 | /// 42 | /// Awaken this instance!!! 43 | /// 44 | public BaseInfrastructureMaker(MapReader mapReader) 45 | { 46 | map = mapReader; 47 | } 48 | 49 | /// 50 | /// Process the nodes to create the geometry. 51 | /// 52 | /// 53 | public abstract IEnumerable Process(); 54 | 55 | /// 56 | /// Get the centre of an object or road. 57 | /// 58 | /// OsmWay object 59 | /// The centre point of the object 60 | protected Vector3 GetCentre(OsmWay way) 61 | { 62 | Vector3 total = Vector3.zero; 63 | 64 | foreach (var id in way.NodeIDs) 65 | { 66 | total += map.nodes[id]; 67 | } 68 | 69 | return total / way.NodeIDs.Count; 70 | } 71 | 72 | /// 73 | /// Procedurally generate an object from the data given in the OsmWay instance. 74 | /// 75 | /// OsmWay instance 76 | /// Material to apply to the instance 77 | /// The name of the object (building name, road etc.) 78 | protected void CreateObject(OsmWay way, Material mat, string objectName) 79 | { 80 | // Make sure we have some name to display 81 | objectName = string.IsNullOrEmpty(objectName) ? "OsmWay" : objectName; 82 | 83 | // Create an instance of the object and place it in the centre of its points 84 | GameObject go = new GameObject(objectName); 85 | Vector3 localOrigin = GetCentre(way); 86 | go.transform.position = localOrigin - map.bounds.Centre; 87 | 88 | // Add the mesh filter and renderer components to the object 89 | MeshFilter mf = go.AddComponent(); 90 | MeshRenderer mr = go.AddComponent(); 91 | 92 | // Apply the material 93 | mr.material = mat; 94 | 95 | // Create the collections for the object's vertices, indices, UVs etc. 96 | List vectors = new List(); 97 | List normals = new List(); 98 | List uvs = new List(); 99 | List indices = new List(); 100 | 101 | // Call the child class' object creation code 102 | OnObjectCreated(way, localOrigin, vectors, normals, uvs, indices); 103 | 104 | // Apply the data to the mesh 105 | mf.sharedMesh = new Mesh(); 106 | mf.sharedMesh.vertices = vectors.ToArray(); 107 | mf.sharedMesh.normals = normals.ToArray(); 108 | mf.sharedMesh.triangles = indices.ToArray(); 109 | mf.sharedMesh.uv = uvs.ToArray(); 110 | } 111 | 112 | protected abstract void OnObjectCreated(OsmWay way, Vector3 origin, List vectors, List normals, List uvs, List indices); 113 | } 114 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/BaseInfrastructureMaker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 397e13afce86a664dbab0cd238604f79 3 | timeCreated: 1488661266 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/BuildingMaker.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | /* 6 | Copyright (c) 2017 Sloan Kelly 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all 16 | copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | SOFTWARE. 25 | */ 26 | 27 | /// 28 | /// Make buildings. 29 | /// 30 | internal sealed class BuildingMaker : BaseInfrastructureMaker 31 | { 32 | private Material building; 33 | 34 | public override int NodeCount 35 | { 36 | get 37 | { 38 | return map.ways.FindAll((w) => 39 | { 40 | return w.IsBuilding && w.NodeIDs.Count > 1; 41 | }).Count; 42 | } 43 | } 44 | 45 | public BuildingMaker(MapReader mapReader, Material buildingMaterial) 46 | : base(mapReader) 47 | { 48 | building = buildingMaterial; 49 | } 50 | 51 | public override IEnumerable Process() 52 | { 53 | int count = 0; 54 | 55 | // Iterate through all the buildings in the 'ways' list 56 | foreach (var way in map.ways.FindAll((w) => { return w.IsBuilding && w.NodeIDs.Count > 1; })) 57 | { 58 | // Create the object 59 | CreateObject(way, building, "Building"); 60 | 61 | count++; 62 | yield return count; 63 | } 64 | } 65 | 66 | /// 67 | /// Build the object using the data from the OsmWay instance. 68 | /// 69 | /// OsmWay instance 70 | /// The origin of the structure 71 | /// The vectors (vertices) list 72 | /// The normals list 73 | /// The UVs list 74 | /// The indices list 75 | protected override void OnObjectCreated(OsmWay way, Vector3 origin, List vectors, List normals, List uvs, List indices) 76 | { 77 | // Get the centre of the roof 78 | Vector3 oTop = new Vector3(0, way.Height, 0); 79 | 80 | // First vector is the middle point in the roof 81 | vectors.Add(oTop); 82 | normals.Add(Vector3.up); 83 | uvs.Add(new Vector2(0.5f, 0.5f)); 84 | 85 | for (int i = 1; i < way.NodeIDs.Count; i++) 86 | { 87 | OsmNode p1 = map.nodes[way.NodeIDs[i - 1]]; 88 | OsmNode p2 = map.nodes[way.NodeIDs[i]]; 89 | 90 | Vector3 v1 = p1 - origin; 91 | Vector3 v2 = p2 - origin; 92 | Vector3 v3 = v1 + new Vector3(0, way.Height, 0); 93 | Vector3 v4 = v2 + new Vector3(0, way.Height, 0); 94 | 95 | vectors.Add(v1); 96 | vectors.Add(v2); 97 | vectors.Add(v3); 98 | vectors.Add(v4); 99 | 100 | uvs.Add(new Vector2(0, 0)); 101 | uvs.Add(new Vector2(1, 0)); 102 | uvs.Add(new Vector2(0, 1)); 103 | uvs.Add(new Vector2(1, 1)); 104 | 105 | normals.Add(-Vector3.forward); 106 | normals.Add(-Vector3.forward); 107 | normals.Add(-Vector3.forward); 108 | normals.Add(-Vector3.forward); 109 | 110 | int idx1, idx2, idx3, idx4; 111 | idx4 = vectors.Count - 1; 112 | idx3 = vectors.Count - 2; 113 | idx2 = vectors.Count - 3; 114 | idx1 = vectors.Count - 4; 115 | 116 | // first triangle v1, v3, v2 117 | indices.Add(idx1); 118 | indices.Add(idx3); 119 | indices.Add(idx2); 120 | 121 | // second v3, v4, v2 122 | indices.Add(idx3); 123 | indices.Add(idx4); 124 | indices.Add(idx2); 125 | 126 | // third v2, v3, v1 127 | indices.Add(idx2); 128 | indices.Add(idx3); 129 | indices.Add(idx1); 130 | 131 | // fourth v2, v4, v3 132 | indices.Add(idx2); 133 | indices.Add(idx4); 134 | indices.Add(idx3); 135 | 136 | // And now the roof triangles 137 | indices.Add(0); 138 | indices.Add(idx3); 139 | indices.Add(idx4); 140 | 141 | // Don't forget the upside down one! 142 | indices.Add(idx4); 143 | indices.Add(idx3); 144 | indices.Add(0); 145 | } 146 | } 147 | } 148 | 149 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/BuildingMaker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35ebd1a66a1d2d14a8e83854dc792013 3 | timeCreated: 1488657534 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/ImportMapDataEditorWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using UnityEditor.SceneManagement; 4 | 5 | /* 6 | Copyright (c) 2018 Sloan Kelly 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all 16 | copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | SOFTWARE. 25 | */ 26 | 27 | public class ImportMapDataEditorWindow : EditorWindow 28 | { 29 | private Material _roadMaterial; 30 | private Material _buildingMaterial; 31 | private string _mapFilePath = "None (Choose OpenMap File)"; 32 | private string _progressText; 33 | private float _progress; 34 | private bool _disableUI; 35 | private bool _validFile; 36 | private bool _importing; 37 | 38 | [MenuItem("Window/Import OpenMap Data")] 39 | public static void ShowEditorWindow() 40 | { 41 | var window = GetWindow(); 42 | window.titleContent = new GUIContent("Import OpenMap"); 43 | window.Show(); 44 | } 45 | 46 | public void ResetProgress() 47 | { 48 | _progress = 0f; 49 | _progressText = ""; 50 | } 51 | 52 | public void UpdateProgress(float progress, string progressText, bool done) 53 | { 54 | _progress = progress; 55 | _progressText = progressText; 56 | 57 | if (!done) 58 | EditorUtility.DisplayProgressBar("Importing Map", 59 | string.Format("{0} {1:%}", progressText, progress), 60 | progress); 61 | else 62 | EditorUtility.ClearProgressBar(); 63 | } 64 | 65 | private void OnGUI() 66 | { 67 | EditorGUILayout.BeginHorizontal(); 68 | 69 | EditorGUI.BeginDisabledGroup(true); 70 | EditorGUILayout.TextField(_mapFilePath); 71 | EditorGUI.EndDisabledGroup(); 72 | if (GUILayout.Button("...")) 73 | { 74 | var filePath = EditorUtility.OpenFilePanel("Select OpenMap File", 75 | Application.dataPath, 76 | "txt"); 77 | if (filePath.Length > 0) 78 | _mapFilePath = filePath; 79 | 80 | _validFile = _mapFilePath.Length > 0; 81 | } 82 | 83 | EditorGUILayout.EndHorizontal(); 84 | 85 | _roadMaterial = EditorGUILayout.ObjectField("Road Material", 86 | _roadMaterial, 87 | typeof(Material), 88 | false) as Material; 89 | _buildingMaterial = EditorGUILayout.ObjectField("Building Material", 90 | _buildingMaterial, 91 | typeof(Material), 92 | false) as Material; 93 | 94 | EditorGUI.BeginDisabledGroup(!_validFile || _disableUI || _importing); 95 | if (GUILayout.Button("Import Map File")) 96 | { 97 | _importing = true; 98 | 99 | var mapWrapper = new ImportMapWrapper(this, 100 | _mapFilePath, 101 | _roadMaterial, 102 | _buildingMaterial); 103 | 104 | mapWrapper.Import(); 105 | EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); 106 | _importing = false; 107 | } 108 | 109 | EditorGUI.EndDisabledGroup(); 110 | 111 | if (_disableUI) 112 | { 113 | EditorGUILayout.HelpBox("The current scene has not been saved yet!", 114 | MessageType.Warning, 115 | true); 116 | } 117 | } 118 | 119 | private void Update() 120 | { 121 | _disableUI = EditorSceneManager.GetActiveScene().isDirty; 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/ImportMapDataEditorWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3d479d839e4fea479882ed4c16a3092 3 | timeCreated: 1532187559 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/ImportMapWrapper.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /* 4 | Copyright (c) 2018 Sloan Kelly 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | */ 24 | 25 | internal sealed class ImportMapWrapper 26 | { 27 | private ImportMapDataEditorWindow _window; 28 | private string _mapFile; 29 | private Material _roadMaterial; 30 | private Material _buildingMaterial; 31 | 32 | public ImportMapWrapper(ImportMapDataEditorWindow window, 33 | string mapFile, 34 | Material roadMaterial, 35 | Material buildingMaterial) 36 | { 37 | _window = window; 38 | _mapFile = mapFile; 39 | _roadMaterial = roadMaterial; 40 | _buildingMaterial = buildingMaterial; 41 | } 42 | 43 | public void Import() 44 | { 45 | var mapReader = new MapReader(); 46 | mapReader.Read(_mapFile); 47 | 48 | var buildingMaker = new BuildingMaker(mapReader, _buildingMaterial); 49 | var roadMaker = new RoadMaker(mapReader, _roadMaterial); 50 | 51 | Process(buildingMaker, "Importing buildings"); 52 | Process(roadMaker, "Importing roads"); 53 | } 54 | 55 | private void Process(BaseInfrastructureMaker maker, string progressText) 56 | { 57 | float nodeCount = maker.NodeCount; 58 | var progress = 0f; 59 | 60 | foreach (var node in maker.Process()) 61 | { 62 | progress = node / nodeCount; 63 | _window.UpdateProgress(progress, progressText, false); 64 | } 65 | _window.UpdateProgress(0, string.Empty, true); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/ImportMapWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 843124c3a7c336f4e80f93e7270c7192 3 | timeCreated: 1532189605 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/MapReader.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.IO; 3 | using System.Xml; 4 | using UnityEngine; 5 | 6 | /* 7 | Copyright (c) 2017 Sloan Kelly 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. 26 | */ 27 | 28 | internal sealed class MapReader 29 | { 30 | [HideInInspector] 31 | public Dictionary nodes; 32 | 33 | [HideInInspector] 34 | public List ways; 35 | 36 | [HideInInspector] 37 | public OsmBounds bounds; 38 | 39 | /// 40 | /// Load the OpenMap data resource file. 41 | /// 42 | /// Path to the resource file. The file must exist. 43 | public void Read(string resourceFile) 44 | { 45 | nodes = new Dictionary(); 46 | ways = new List(); 47 | 48 | var xmlText = File.ReadAllText(resourceFile); 49 | 50 | XmlDocument doc = new XmlDocument(); 51 | doc.LoadXml(xmlText); 52 | 53 | SetBounds(doc.SelectSingleNode("/osm/bounds")); 54 | GetNodes(doc.SelectNodes("/osm/node")); 55 | GetWays(doc.SelectNodes("/osm/way")); 56 | 57 | float minx = (float)MercatorProjection.lonToX(bounds.MinLon); 58 | float maxx = (float)MercatorProjection.lonToX(bounds.MaxLon); 59 | float miny = (float)MercatorProjection.latToY(bounds.MinLat); 60 | float maxy = (float)MercatorProjection.latToY(bounds.MaxLat); 61 | } 62 | 63 | void GetWays(XmlNodeList xmlNodeList) 64 | { 65 | foreach (XmlNode node in xmlNodeList) 66 | { 67 | OsmWay way = new OsmWay(node); 68 | ways.Add(way); 69 | } 70 | } 71 | 72 | void GetNodes(XmlNodeList xmlNodeList) 73 | { 74 | foreach (XmlNode n in xmlNodeList) 75 | { 76 | OsmNode node = new OsmNode(n); 77 | nodes[node.ID] = node; 78 | } 79 | } 80 | 81 | void SetBounds(XmlNode xmlNode) 82 | { 83 | bounds = new OsmBounds(xmlNode); 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/MapReader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 477df58ce534d3a498e6e5e145207e52 3 | timeCreated: 1488651902 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/MercatorProjection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | /// 4 | /// C# Implementation by Florian Müller, based on the C code published at 5 | /// http://wiki.openstreetmap.org/wiki/Mercator#C_implementation 14:50, 20.6.2008; 6 | /// updated to static functions by David Schmitt, 23.4.2010 7 | /// 8 | public static class MercatorProjection 9 | { 10 | private static readonly double R_MAJOR = 6378137.0; 11 | private static readonly double R_MINOR = 6356752.3142; 12 | private static readonly double RATIO = R_MINOR / R_MAJOR; 13 | private static readonly double ECCENT = Math.Sqrt(1.0 - (RATIO * RATIO)); 14 | private static readonly double COM = 0.5 * ECCENT; 15 | 16 | private static readonly double DEG2RAD = Math.PI / 180.0; 17 | private static readonly double RAD2Deg = 180.0 / Math.PI; 18 | private static readonly double PI_2 = Math.PI / 2.0; 19 | 20 | public static double[] toPixel(double lon, double lat) 21 | { 22 | return new double[] { lonToX(lon), latToY(lat) }; 23 | } 24 | 25 | public static double[] toGeoCoord(double x, double y) 26 | { 27 | return new double[] { xToLon(x), yToLat(y) }; 28 | } 29 | 30 | public static double lonToX(double lon) 31 | { 32 | return R_MAJOR * DegToRad(lon); 33 | } 34 | 35 | public static double latToY(double lat) 36 | { 37 | lat = Math.Min(89.5, Math.Max(lat, -89.5)); 38 | double phi = DegToRad(lat); 39 | double sinphi = Math.Sin(phi); 40 | double con = ECCENT * sinphi; 41 | con = Math.Pow(((1.0 - con) / (1.0 + con)), COM); 42 | double ts = Math.Tan(0.5 * ((Math.PI * 0.5) - phi)) / con; 43 | return 0 - R_MAJOR * Math.Log(ts); 44 | } 45 | 46 | public static double xToLon(double x) 47 | { 48 | return RadToDeg(x) / R_MAJOR; 49 | } 50 | 51 | public static double yToLat(double y) 52 | { 53 | double ts = Math.Exp(-y / R_MAJOR); 54 | double phi = PI_2 - 2 * Math.Atan(ts); 55 | double dphi = 1.0; 56 | int i = 0; 57 | while ((Math.Abs(dphi) > 0.000000001) && (i < 15)) 58 | { 59 | double con = ECCENT * Math.Sin(phi); 60 | dphi = PI_2 - 2 * Math.Atan(ts * Math.Pow((1.0 - con) / (1.0 + con), COM)) - phi; 61 | phi += dphi; 62 | i++; 63 | } 64 | return RadToDeg(phi); 65 | } 66 | 67 | private static double RadToDeg(double rad) 68 | { 69 | return rad * RAD2Deg; 70 | } 71 | 72 | private static double DegToRad(double deg) 73 | { 74 | return deg * DEG2RAD; 75 | } 76 | } -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/MercatorProjection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc10c7e6cf1a9d44a862af57d6b97d44 3 | timeCreated: 1488653187 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/RoadMaker.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | /* 5 | Copyright (c) 2017 Sloan Kelly 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | */ 25 | 26 | /// 27 | /// Road infrastructure maker. 28 | /// 29 | internal sealed class RoadMaker : BaseInfrastructureMaker 30 | { 31 | public Material roadMaterial; 32 | 33 | public override int NodeCount 34 | { 35 | get { return map.ways.FindAll((w) => { return w.IsRoad; }).Count; } 36 | } 37 | 38 | public RoadMaker(MapReader mapReader, Material roadMat) 39 | : base(mapReader) 40 | { 41 | roadMaterial = roadMat; 42 | } 43 | 44 | /// 45 | /// Create the roads. 46 | /// 47 | /// 48 | public override IEnumerable Process() 49 | { 50 | int count = 0; 51 | 52 | // Iterate through the roads and build each one 53 | foreach (var way in map.ways.FindAll((w) => { return w.IsRoad; })) 54 | { 55 | CreateObject(way, roadMaterial, way.Name); 56 | 57 | count++; 58 | yield return count; 59 | } 60 | } 61 | 62 | protected override void OnObjectCreated(OsmWay way, Vector3 origin, List vectors, List normals, List uvs, List indices) 63 | { 64 | for (int i = 1; i < way.NodeIDs.Count; i++) 65 | { 66 | OsmNode p1 = map.nodes[way.NodeIDs[i - 1]]; 67 | OsmNode p2 = map.nodes[way.NodeIDs[i]]; 68 | 69 | Vector3 s1 = p1 - origin; 70 | Vector3 s2 = p2 - origin; 71 | 72 | Vector3 diff = (s2 - s1).normalized; 73 | 74 | // https://en.wikipedia.org/wiki/Lane 75 | // According to the article, it's 3.7m in Canada 76 | var cross = Vector3.Cross(diff, Vector3.up) * 3.7f * way.Lanes; 77 | 78 | // Create points that represent the width of the road 79 | Vector3 v1 = s1 + cross; 80 | Vector3 v2 = s1 - cross; 81 | Vector3 v3 = s2 + cross; 82 | Vector3 v4 = s2 - cross; 83 | 84 | vectors.Add(v1); 85 | vectors.Add(v2); 86 | vectors.Add(v3); 87 | vectors.Add(v4); 88 | 89 | uvs.Add(new Vector2(0, 0)); 90 | uvs.Add(new Vector2(1, 0)); 91 | uvs.Add(new Vector2(0, 1)); 92 | uvs.Add(new Vector2(1, 1)); 93 | 94 | normals.Add(Vector3.up); 95 | normals.Add(Vector3.up); 96 | normals.Add(Vector3.up); 97 | normals.Add(Vector3.up); 98 | 99 | int idx1, idx2, idx3, idx4; 100 | idx4 = vectors.Count - 1; 101 | idx3 = vectors.Count - 2; 102 | idx2 = vectors.Count - 3; 103 | idx1 = vectors.Count - 4; 104 | 105 | // first triangle v1, v3, v2 106 | indices.Add(idx1); 107 | indices.Add(idx3); 108 | indices.Add(idx2); 109 | 110 | // second v3, v4, v2 111 | indices.Add(idx3); 112 | indices.Add(idx4); 113 | indices.Add(idx2); 114 | } 115 | } 116 | } 117 | 118 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/RoadMaker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b97ca0d0a5b3be845ab32653cc2e4727 3 | timeCreated: 1488657534 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/Serialization.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac1f48d5c1c0540488b75c23fd038ad6 3 | folderAsset: yes 4 | timeCreated: 1488653187 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/Serialization/BaseOsm.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Xml; 3 | using UnityEngine; 4 | 5 | /* 6 | Copyright (c) 2017 Sloan Kelly 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all 16 | copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | SOFTWARE. 25 | */ 26 | 27 | /// 28 | /// Base Open Street Map (OSM) data node. 29 | /// 30 | class BaseOsm 31 | { 32 | /// 33 | /// Get an attribute's value from the collection using the given 'attrName'. 34 | /// 35 | /// Data type 36 | /// Name of the attribute 37 | /// Node's attribute collection 38 | /// The value of the attribute converted to the required type 39 | protected T GetAttribute(string attrName, XmlAttributeCollection attributes) 40 | { 41 | // TODO: We are going to assume 'attrName' exists in the collection 42 | string strValue = attributes[attrName].Value; 43 | T instance = default(T); 44 | 45 | try 46 | { 47 | instance = (T)Convert.ChangeType(strValue, typeof(T)); 48 | } 49 | catch (Exception e) 50 | { 51 | // Fix for height values ending with 'm' which seems to be something new. 52 | if (strValue.EndsWith("m")) 53 | { 54 | var idx = strValue.IndexOf(' '); 55 | if (idx >= 0) 56 | { 57 | var tmp = strValue.Substring(0, idx); 58 | instance = (T)Convert.ChangeType(tmp, typeof(T)); 59 | } 60 | } 61 | else 62 | { 63 | Debug.Log(e.ToString() + "\r\nname=" + attrName + ", value=" + strValue); 64 | } 65 | } 66 | 67 | return instance; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/Serialization/BaseOsm.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d9e65e8187bd9b479aa470acbba6a66 3 | timeCreated: 1488653385 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/Serialization/OsmBounds.cs: -------------------------------------------------------------------------------- 1 | using System.Xml; 2 | using UnityEngine; 3 | 4 | /* 5 | Copyright (c) 2017 Sloan Kelly 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | */ 25 | 26 | /// 27 | /// OSM map bounds. 28 | /// 29 | class OsmBounds : BaseOsm 30 | { 31 | /// 32 | /// Minimum latitude (y-axis) 33 | /// 34 | public float MinLat { get; private set; } 35 | 36 | /// 37 | /// Maximum latitude (y-axis) 38 | /// 39 | public float MaxLat { get; private set; } 40 | 41 | /// 42 | /// Minimum longitude (x-axis) 43 | /// 44 | public float MinLon { get; private set; } 45 | 46 | /// 47 | /// Maximum longitude (x-axis) 48 | /// 49 | public float MaxLon { get; private set; } 50 | 51 | /// 52 | /// Centre of the map in Unity units. 53 | /// 54 | public Vector3 Centre { get; private set; } 55 | 56 | /// 57 | /// Constructor. 58 | /// 59 | /// Xml node 60 | public OsmBounds(XmlNode node) 61 | { 62 | // Get the values from the node 63 | MinLat = GetAttribute("minlat", node.Attributes); 64 | MaxLat = GetAttribute("maxlat", node.Attributes); 65 | MinLon = GetAttribute("minlon", node.Attributes); 66 | MaxLon = GetAttribute("maxlon", node.Attributes); 67 | 68 | // Create the centre location 69 | float x = (float)((MercatorProjection.lonToX(MaxLon) + MercatorProjection.lonToX(MinLon)) / 2); 70 | float y = (float)((MercatorProjection.latToY(MaxLat) + MercatorProjection.latToY(MinLat)) / 2); 71 | Centre = new Vector3(x, 0, y); 72 | } 73 | } -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/Serialization/OsmBounds.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97a40a7dc0304834c9c0845a357b6973 3 | timeCreated: 1488653385 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/Serialization/OsmNode.cs: -------------------------------------------------------------------------------- 1 | using System.Xml; 2 | using UnityEngine; 3 | 4 | /* 5 | Copyright (c) 2017 Sloan Kelly 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | */ 25 | 26 | /// 27 | /// OSM node. 28 | /// 29 | class OsmNode : BaseOsm 30 | { 31 | /// 32 | /// Node ID. 33 | /// 34 | public ulong ID { get; private set; } 35 | 36 | /// 37 | /// Latitude position of the node. 38 | /// 39 | public float Latitude { get; private set; } 40 | 41 | /// 42 | /// Longitude position of the node. 43 | /// 44 | public float Longitude { get; private set; } 45 | 46 | /// 47 | /// Unity unit X-co-ordinate. 48 | /// 49 | public float X { get; private set; } 50 | 51 | /// 52 | /// Unity unit Y-co-ordinate. 53 | /// 54 | public float Y { get; private set; } 55 | 56 | /// 57 | /// Implicit conversion between OsmNode and Vector3. 58 | /// 59 | /// OsmNode instance 60 | public static implicit operator Vector3 (OsmNode node) 61 | { 62 | return new Vector3(node.X, 0, node.Y); 63 | } 64 | 65 | /// 66 | /// Constructor. 67 | /// 68 | /// Xml node 69 | public OsmNode(XmlNode node) 70 | { 71 | // Get the attribute values 72 | ID = GetAttribute("id", node.Attributes); 73 | Latitude = GetAttribute("lat", node.Attributes); 74 | Longitude = GetAttribute("lon", node.Attributes); 75 | 76 | // Calculate the position in Unity units 77 | X = (float)MercatorProjection.lonToX(Longitude); 78 | Y = (float)MercatorProjection.latToY(Latitude); 79 | } 80 | } 81 | 82 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/Serialization/OsmNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8c9eef0b7b042b4193e54e49a63ced2 3 | timeCreated: 1488653187 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/Serialization/OsmWay.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Xml; 3 | 4 | /* 5 | Copyright (c) 2017 Sloan Kelly 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | */ 25 | 26 | /// 27 | /// An OSM object that describes an arrangement of OsmNodes into a shape or road. 28 | /// 29 | class OsmWay : BaseOsm 30 | { 31 | /// 32 | /// Way ID. 33 | /// 34 | public ulong ID { get; private set; } 35 | 36 | /// 37 | /// True if visible. 38 | /// 39 | public bool Visible { get; private set; } 40 | 41 | /// 42 | /// List of node IDs. 43 | /// 44 | public List NodeIDs { get; private set; } 45 | 46 | /// 47 | /// True if the way is a boundary. 48 | /// 49 | public bool IsBoundary { get; private set; } 50 | 51 | /// 52 | /// True if the way is a building. 53 | /// 54 | public bool IsBuilding { get; private set; } 55 | 56 | /// 57 | /// True if the way is a road. 58 | /// 59 | public bool IsRoad { get; private set; } 60 | 61 | /// 62 | /// Height of the structure. 63 | /// 64 | public float Height { get; private set; } 65 | 66 | /// 67 | /// The name of the object. 68 | /// 69 | public string Name { get; private set; } 70 | 71 | /// 72 | /// The number of lanes on the road. Default is 1 for contra-flow 73 | /// 74 | public int Lanes { get; private set; } 75 | 76 | /// 77 | /// Constructor. 78 | /// 79 | /// 80 | public OsmWay(XmlNode node) 81 | { 82 | NodeIDs = new List(); 83 | Height = 3.0f; // Default height for structures is 1 story (approx. 3m) 84 | Lanes = 1; // Number of lanes either side of the divide 85 | Name = ""; 86 | 87 | // Get the data from the attributes 88 | ID = GetAttribute("id", node.Attributes); 89 | Visible = GetAttribute("visible", node.Attributes); 90 | 91 | // Get the nodes 92 | XmlNodeList nds = node.SelectNodes("nd"); 93 | foreach(XmlNode n in nds) 94 | { 95 | ulong refNo = GetAttribute("ref", n.Attributes); 96 | NodeIDs.Add(refNo); 97 | } 98 | 99 | if (NodeIDs.Count > 1) 100 | { 101 | IsBoundary = NodeIDs[0] == NodeIDs[NodeIDs.Count - 1]; 102 | } 103 | 104 | // Read the tags 105 | XmlNodeList tags = node.SelectNodes("tag"); 106 | foreach (XmlNode t in tags) 107 | { 108 | string key = GetAttribute("k", t.Attributes); 109 | if (key == "building:levels") 110 | { 111 | Height = 3.0f * GetAttribute("v", t.Attributes); 112 | } 113 | else if (key == "height") 114 | { 115 | Height = 0.3048f * GetAttribute("v", t.Attributes); 116 | } 117 | else if (key == "building") 118 | { 119 | IsBuilding = true; // GetAttribute("v", t.Attributes) == "yes"; 120 | } 121 | else if (key == "highway") 122 | { 123 | IsRoad = true; 124 | } 125 | else if (key=="lanes") 126 | { 127 | Lanes = GetAttribute("v", t.Attributes); 128 | } 129 | else if (key=="name") 130 | { 131 | Name = GetAttribute("v", t.Attributes); 132 | } 133 | } 134 | } 135 | } 136 | 137 | -------------------------------------------------------------------------------- /src/Real World Map Data/Assets/Scripts/Editor/OpenMapImporter/Serialization/OsmWay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a68e102ab9702d2408da24d250413c7f 3 | timeCreated: 1488653187 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Real World Map Data/MapTutorial.Editor.Plugins.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 10.0.20506 7 | 2.0 8 | {FC989359-0069-05B4-5377-CD0F202513BE} 9 | Library 10 | Assembly-CSharp-Editor-firstpass 11 | 512 12 | {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 13 | .NETFramework 14 | v3.5 15 | Unity Full v3.5 16 | 17 | EditorPlugins:7 18 | StandaloneWindows:5 19 | 5.5.0f3 20 | 21 | 4 22 | 23 | 24 | pdbonly 25 | false 26 | Temp\UnityVS_bin\Debug\ 27 | Temp\UnityVS_obj\Debug\ 28 | prompt 29 | 4 30 | DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 31 | false 32 | 33 | 34 | pdbonly 35 | false 36 | Temp\UnityVS_bin\Release\ 37 | Temp\UnityVS_obj\Release\ 38 | prompt 39 | 4 40 | TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 41 | false 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | Library\UnityAssemblies\UnityEngine.dll 54 | 55 | 56 | Library\UnityAssemblies\UnityEditor.dll 57 | 58 | 59 | Library\UnityAssemblies\UnityEditor.Advertisements.dll 60 | 61 | 62 | Library\UnityAssemblies\nunit.framework.dll 63 | 64 | 65 | Library\UnityAssemblies\UnityEditor.EditorTestsRunner.dll 66 | 67 | 68 | Library\UnityAssemblies\UnityEngine.UI.dll 69 | 70 | 71 | Library\UnityAssemblies\UnityEditor.UI.dll 72 | 73 | 74 | Library\UnityAssemblies\UnityEngine.Networking.dll 75 | 76 | 77 | Library\UnityAssemblies\UnityEditor.Networking.dll 78 | 79 | 80 | Library\UnityAssemblies\UnityEditor.PlaymodeTestsRunner.dll 81 | 82 | 83 | Library\UnityAssemblies\UnityEngine.PlaymodeTestsRunner.dll 84 | 85 | 86 | Library\UnityAssemblies\UnityEditor.TreeEditor.dll 87 | 88 | 89 | Library\UnityAssemblies\UnityEngine.Analytics.dll 90 | 91 | 92 | Library\UnityAssemblies\UnityEditor.Analytics.dll 93 | 94 | 95 | Library\UnityAssemblies\UnityEditor.HoloLens.dll 96 | 97 | 98 | Library\UnityAssemblies\UnityEngine.HoloLens.dll 99 | 100 | 101 | Library\UnityAssemblies\UnityEditor.VR.dll 102 | 103 | 104 | Library\UnityAssemblies\UnityEngine.VR.dll 105 | 106 | 107 | Library\UnityAssemblies\UnityEditor.Graphs.dll 108 | 109 | 110 | Library\UnityAssemblies\UnityEditor.Android.Extensions.dll 111 | 112 | 113 | Library\UnityAssemblies\UnityEditor.WindowsStandalone.Extensions.dll 114 | 115 | 116 | Library\UnityAssemblies\SyntaxTree.VisualStudio.Unity.Bridge.dll 117 | 118 | 119 | 120 | 121 | {3B154AB6-67C7-AB05-9236-C2669CB031B5} 122 | MapTutorial.Plugins 123 | 124 | 125 | {D6815D30-C575-F21B-17B9-59513864E4E5} 126 | MapTutorial 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | -------------------------------------------------------------------------------- /src/Real World Map Data/MapTutorial.Plugins.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 10.0.20506 7 | 2.0 8 | {3B154AB6-67C7-AB05-9236-C2669CB031B5} 9 | Library 10 | Assembly-CSharp-firstpass 11 | 512 12 | {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 13 | .NETFramework 14 | v3.5 15 | Unity Subset v3.5 16 | 17 | GamePlugins:3 18 | StandaloneWindows:5 19 | 5.5.0f3 20 | 21 | 4 22 | 23 | 24 | pdbonly 25 | false 26 | Temp\UnityVS_bin\Debug\ 27 | Temp\UnityVS_obj\Debug\ 28 | prompt 29 | 4 30 | DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 31 | false 32 | 33 | 34 | pdbonly 35 | false 36 | Temp\UnityVS_bin\Release\ 37 | Temp\UnityVS_obj\Release\ 38 | prompt 39 | 4 40 | TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 41 | false 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | Library\UnityAssemblies\UnityEngine.dll 54 | 55 | 56 | Library\UnityAssemblies\UnityEngine.UI.dll 57 | 58 | 59 | Library\UnityAssemblies\UnityEngine.Networking.dll 60 | 61 | 62 | Library\UnityAssemblies\UnityEngine.PlaymodeTestsRunner.dll 63 | 64 | 65 | Library\UnityAssemblies\UnityEngine.Analytics.dll 66 | 67 | 68 | Library\UnityAssemblies\UnityEngine.HoloLens.dll 69 | 70 | 71 | Library\UnityAssemblies\UnityEngine.VR.dll 72 | 73 | 74 | Library\UnityAssemblies\UnityEditor.dll 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /src/Real World Map Data/MapTutorial.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 10.0.20506 7 | 2.0 8 | {D6815D30-C575-F21B-17B9-59513864E4E5} 9 | Library 10 | Assembly-CSharp 11 | 512 12 | {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 13 | .NETFramework 14 | v3.5 15 | Unity Subset v3.5 16 | 17 | Game:1 18 | StandaloneWindows:5 19 | 5.5.0f3 20 | 21 | 4 22 | 23 | 24 | pdbonly 25 | false 26 | Temp\UnityVS_bin\Debug\ 27 | Temp\UnityVS_obj\Debug\ 28 | prompt 29 | 4 30 | DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 31 | false 32 | 33 | 34 | pdbonly 35 | false 36 | Temp\UnityVS_bin\Release\ 37 | Temp\UnityVS_obj\Release\ 38 | prompt 39 | 4 40 | TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 41 | false 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | Library\UnityAssemblies\UnityEngine.dll 54 | 55 | 56 | Library\UnityAssemblies\UnityEngine.UI.dll 57 | 58 | 59 | Library\UnityAssemblies\UnityEngine.Networking.dll 60 | 61 | 62 | Library\UnityAssemblies\UnityEngine.PlaymodeTestsRunner.dll 63 | 64 | 65 | Library\UnityAssemblies\UnityEngine.Analytics.dll 66 | 67 | 68 | Library\UnityAssemblies\UnityEngine.HoloLens.dll 69 | 70 | 71 | Library\UnityAssemblies\UnityEngine.VR.dll 72 | 73 | 74 | Library\UnityAssemblies\UnityEditor.dll 75 | 76 | 77 | 78 | 79 | {3B154AB6-67C7-AB05-9236-C2669CB031B5} 80 | MapTutorial.Plugins 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /src/Real World Map Data/MapTutorial.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2015 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapTutorial.Plugins", "MapTutorial.Plugins.csproj", "{3B154AB6-67C7-AB05-9236-C2669CB031B5}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapTutorial", "MapTutorial.csproj", "{D6815D30-C575-F21B-17B9-59513864E4E5}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapTutorial.Editor.Plugins", "MapTutorial.Editor.Plugins.csproj", "{FC989359-0069-05B4-5377-CD0F202513BE}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {3B154AB6-67C7-AB05-9236-C2669CB031B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {3B154AB6-67C7-AB05-9236-C2669CB031B5}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {3B154AB6-67C7-AB05-9236-C2669CB031B5}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {3B154AB6-67C7-AB05-9236-C2669CB031B5}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {D6815D30-C575-F21B-17B9-59513864E4E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {D6815D30-C575-F21B-17B9-59513864E4E5}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {D6815D30-C575-F21B-17B9-59513864E4E5}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {D6815D30-C575-F21B-17B9-59513864E4E5}.Release|Any CPU.Build.0 = Release|Any CPU 24 | {FC989359-0069-05B4-5377-CD0F202513BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 25 | {FC989359-0069-05B4-5377-CD0F202513BE}.Debug|Any CPU.Build.0 = Debug|Any CPU 26 | {FC989359-0069-05B4-5377-CD0F202513BE}.Release|Any CPU.ActiveCfg = Release|Any CPU 27 | {FC989359-0069-05B4-5377-CD0F202513BE}.Release|Any CPU.Build.0 = Release|Any CPU 28 | EndGlobalSection 29 | GlobalSection(SolutionProperties) = preSolution 30 | HideSolutionNode = FALSE 31 | EndGlobalSection 32 | EndGlobal 33 | -------------------------------------------------------------------------------- /src/Real World Map Data/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ads": "2.0.8", 4 | "com.unity.analytics": "3.2.2", 5 | "com.unity.collab-proxy": "1.2.15", 6 | "com.unity.package-manager-ui": "2.0.7", 7 | "com.unity.purchasing": "2.0.3", 8 | "com.unity.textmeshpro": "1.3.0", 9 | "com.unity.modules.ai": "1.0.0", 10 | "com.unity.modules.animation": "1.0.0", 11 | "com.unity.modules.assetbundle": "1.0.0", 12 | "com.unity.modules.audio": "1.0.0", 13 | "com.unity.modules.cloth": "1.0.0", 14 | "com.unity.modules.director": "1.0.0", 15 | "com.unity.modules.imageconversion": "1.0.0", 16 | "com.unity.modules.imgui": "1.0.0", 17 | "com.unity.modules.jsonserialize": "1.0.0", 18 | "com.unity.modules.particlesystem": "1.0.0", 19 | "com.unity.modules.physics": "1.0.0", 20 | "com.unity.modules.physics2d": "1.0.0", 21 | "com.unity.modules.screencapture": "1.0.0", 22 | "com.unity.modules.terrain": "1.0.0", 23 | "com.unity.modules.terrainphysics": "1.0.0", 24 | "com.unity.modules.tilemap": "1.0.0", 25 | "com.unity.modules.ui": "1.0.0", 26 | "com.unity.modules.uielements": "1.0.0", 27 | "com.unity.modules.umbra": "1.0.0", 28 | "com.unity.modules.unityanalytics": "1.0.0", 29 | "com.unity.modules.unitywebrequest": "1.0.0", 30 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 31 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 32 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 33 | "com.unity.modules.unitywebrequestwww": "1.0.0", 34 | "com.unity.modules.vehicles": "1.0.0", 35 | "com.unity.modules.video": "1.0.0", 36 | "com.unity.modules.vr": "1.0.0", 37 | "com.unity.modules.wind": "1.0.0", 38 | "com.unity.modules.xr": "1.0.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/AudioManager.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/ClusterInputManager.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/DynamicsManager.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/EditorBuildSettings.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/EditorSettings.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/GraphicsSettings.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/InputManager.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/NavMeshAreas.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/NetworkManager.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/Physics2DSettings.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/PresetManager.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/ProjectSettings.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2018.3.11f1 2 | -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/QualitySettings.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/TagManager.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/TimeManager.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/UnityConnectSettings.asset -------------------------------------------------------------------------------- /src/Real World Map Data/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Real World Map Data/ProjectSettings/VFXManager.asset -------------------------------------------------------------------------------- /src/Real World Map Data/Real World Map Data.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 10.0.20506 7 | 2.0 8 | {E2DD1D86-2E23-095C-B9BE-490915A40F17} 9 | Library 10 | Assembly-CSharp 11 | 512 12 | {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 13 | .NETFramework 14 | v3.5 15 | Unity Subset v3.5 16 | 17 | Game:1 18 | StandaloneWindows64:19 19 | 2017.3.1f1 20 | 21 | 4 22 | 23 | 24 | pdbonly 25 | false 26 | Temp\UnityVS_bin\Debug\ 27 | Temp\UnityVS_obj\Debug\ 28 | prompt 29 | 4 30 | DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_3_1;UNITY_2017_3;UNITY_2017;PLATFORM_ARCH_64;UNITY_64;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_PVR_GI;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_GRID;ENABLE_TILEMAP;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_DIRECTOR;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_TIMELINE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;ENABLE_NATIVE_ARRAY;ENABLE_SPRITE_MASKING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;ENABLE_MONO_BDWGC;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_VIDEO;ENABLE_RMGUI;ENABLE_PACKMAN;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_STYLE_SHEETS;ENABLE_LOCALIZATION;PLATFORM_STANDALONE_WIN;PLATFORM_STANDALONE;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VR;ENABLE_AR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_2_0_SUBSET;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_NATIVE_ARRAY_CHECKS;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 31 | true 32 | 33 | 34 | pdbonly 35 | false 36 | Temp\UnityVS_bin\Release\ 37 | Temp\UnityVS_obj\Release\ 38 | prompt 39 | 4 40 | TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_3_1;UNITY_2017_3;UNITY_2017;PLATFORM_ARCH_64;UNITY_64;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_PVR_GI;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_GRID;ENABLE_TILEMAP;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_DIRECTOR;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_TIMELINE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;ENABLE_NATIVE_ARRAY;ENABLE_SPRITE_MASKING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;ENABLE_MONO_BDWGC;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_VIDEO;ENABLE_RMGUI;ENABLE_PACKMAN;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_STYLE_SHEETS;ENABLE_LOCALIZATION;PLATFORM_STANDALONE_WIN;PLATFORM_STANDALONE;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VR;ENABLE_AR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_2_0_SUBSET;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_NATIVE_ARRAY_CHECKS;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 41 | true 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | Library\UnityAssemblies\UnityEditor.dll 54 | 55 | 56 | Library\UnityAssemblies\UnityEngine.dll 57 | 58 | 59 | Library\UnityAssemblies\UnityEngine.CoreModule.dll 60 | 61 | 62 | Library\UnityAssemblies\UnityEngine.AccessibilityModule.dll 63 | 64 | 65 | Library\UnityAssemblies\UnityEngine.ParticleSystemModule.dll 66 | 67 | 68 | Library\UnityAssemblies\UnityEngine.PhysicsModule.dll 69 | 70 | 71 | Library\UnityAssemblies\UnityEngine.VehiclesModule.dll 72 | 73 | 74 | Library\UnityAssemblies\UnityEngine.ClothModule.dll 75 | 76 | 77 | Library\UnityAssemblies\UnityEngine.AIModule.dll 78 | 79 | 80 | Library\UnityAssemblies\UnityEngine.AnimationModule.dll 81 | 82 | 83 | Library\UnityAssemblies\UnityEngine.TextRenderingModule.dll 84 | 85 | 86 | Library\UnityAssemblies\UnityEngine.UIModule.dll 87 | 88 | 89 | Library\UnityAssemblies\UnityEngine.TerrainPhysicsModule.dll 90 | 91 | 92 | Library\UnityAssemblies\UnityEngine.IMGUIModule.dll 93 | 94 | 95 | Library\UnityAssemblies\UnityEngine.ClusterInputModule.dll 96 | 97 | 98 | Library\UnityAssemblies\UnityEngine.ClusterRendererModule.dll 99 | 100 | 101 | Library\UnityAssemblies\UnityEngine.UNETModule.dll 102 | 103 | 104 | Library\UnityAssemblies\UnityEngine.DirectorModule.dll 105 | 106 | 107 | Library\UnityAssemblies\UnityEngine.UnityAnalyticsModule.dll 108 | 109 | 110 | Library\UnityAssemblies\UnityEngine.PerformanceReportingModule.dll 111 | 112 | 113 | Library\UnityAssemblies\UnityEngine.UnityConnectModule.dll 114 | 115 | 116 | Library\UnityAssemblies\UnityEngine.WebModule.dll 117 | 118 | 119 | Library\UnityAssemblies\UnityEngine.ARModule.dll 120 | 121 | 122 | Library\UnityAssemblies\UnityEngine.VRModule.dll 123 | 124 | 125 | Library\UnityAssemblies\UnityEngine.UIElementsModule.dll 126 | 127 | 128 | Library\UnityAssemblies\UnityEngine.StyleSheetsModule.dll 129 | 130 | 131 | Library\UnityAssemblies\UnityEngine.AssetBundleModule.dll 132 | 133 | 134 | Library\UnityAssemblies\UnityEngine.AudioModule.dll 135 | 136 | 137 | Library\UnityAssemblies\UnityEngine.CrashReportingModule.dll 138 | 139 | 140 | Library\UnityAssemblies\UnityEngine.GameCenterModule.dll 141 | 142 | 143 | Library\UnityAssemblies\UnityEngine.GridModule.dll 144 | 145 | 146 | Library\UnityAssemblies\UnityEngine.ImageConversionModule.dll 147 | 148 | 149 | Library\UnityAssemblies\UnityEngine.InputModule.dll 150 | 151 | 152 | Library\UnityAssemblies\UnityEngine.JSONSerializeModule.dll 153 | 154 | 155 | Library\UnityAssemblies\UnityEngine.ParticlesLegacyModule.dll 156 | 157 | 158 | Library\UnityAssemblies\UnityEngine.Physics2DModule.dll 159 | 160 | 161 | Library\UnityAssemblies\UnityEngine.ScreenCaptureModule.dll 162 | 163 | 164 | Library\UnityAssemblies\UnityEngine.SharedInternalsModule.dll 165 | 166 | 167 | Library\UnityAssemblies\UnityEngine.SpriteMaskModule.dll 168 | 169 | 170 | Library\UnityAssemblies\UnityEngine.SpriteShapeModule.dll 171 | 172 | 173 | Library\UnityAssemblies\UnityEngine.TerrainModule.dll 174 | 175 | 176 | Library\UnityAssemblies\UnityEngine.TilemapModule.dll 177 | 178 | 179 | Library\UnityAssemblies\UnityEngine.UnityWebRequestModule.dll 180 | 181 | 182 | Library\UnityAssemblies\UnityEngine.UnityWebRequestAudioModule.dll 183 | 184 | 185 | Library\UnityAssemblies\UnityEngine.UnityWebRequestTextureModule.dll 186 | 187 | 188 | Library\UnityAssemblies\UnityEngine.UnityWebRequestWWWModule.dll 189 | 190 | 191 | Library\UnityAssemblies\UnityEngine.VideoModule.dll 192 | 193 | 194 | Library\UnityAssemblies\UnityEngine.WindModule.dll 195 | 196 | 197 | Library\UnityAssemblies\UnityEngine.UI.dll 198 | 199 | 200 | Library\UnityAssemblies\UnityEditor.UI.dll 201 | 202 | 203 | Library\UnityAssemblies\UnityEngine.Networking.dll 204 | 205 | 206 | Library\UnityAssemblies\UnityEditor.Networking.dll 207 | 208 | 209 | Library\UnityAssemblies\UnityEditor.TestRunner.dll 210 | 211 | 212 | Library\UnityAssemblies\UnityEngine.TestRunner.dll 213 | 214 | 215 | Library\UnityAssemblies\nunit.framework.dll 216 | 217 | 218 | Library\UnityAssemblies\UnityEngine.Timeline.dll 219 | 220 | 221 | Library\UnityAssemblies\UnityEditor.Timeline.dll 222 | 223 | 224 | Library\UnityAssemblies\UnityEditor.TreeEditor.dll 225 | 226 | 227 | Library\UnityAssemblies\UnityEngine.UIAutomation.dll 228 | 229 | 230 | Library\UnityAssemblies\UnityEditor.UIAutomation.dll 231 | 232 | 233 | Library\UnityAssemblies\UnityEditor.GoogleAudioSpatializer.dll 234 | 235 | 236 | Library\UnityAssemblies\UnityEngine.GoogleAudioSpatializer.dll 237 | 238 | 239 | Library\UnityAssemblies\UnityEditor.HoloLens.dll 240 | 241 | 242 | Library\UnityAssemblies\UnityEngine.HoloLens.dll 243 | 244 | 245 | Library\UnityAssemblies\UnityEditor.SpatialTracking.dll 246 | 247 | 248 | Library\UnityAssemblies\UnityEngine.SpatialTracking.dll 249 | 250 | 251 | Library\UnityAssemblies\UnityEditor.VR.dll 252 | 253 | 254 | Library\UnityAssemblies\UnityEditor.Graphs.dll 255 | 256 | 257 | Library\UnityAssemblies\UnityEditor.Android.Extensions.dll 258 | 259 | 260 | Library\UnityAssemblies\UnityEditor.WSA.Extensions.dll 261 | 262 | 263 | Library\UnityAssemblies\UnityEditor.WindowsStandalone.Extensions.dll 264 | 265 | 266 | Library\UnityAssemblies\SyntaxTree.VisualStudio.Unity.Bridge.dll 267 | 268 | 269 | Library\UnityAssemblies\UnityEngine.Advertisements.dll 270 | 271 | 272 | Library\UnityAssemblies\UnityEditor.Advertisements.dll 273 | 274 | 275 | Library\UnityAssemblies\UnityEngine.Analytics.dll 276 | 277 | 278 | Library\UnityAssemblies\UnityEditor.Analytics.dll 279 | 280 | 281 | Library\UnityAssemblies\UnityEngine.Purchasing.dll 282 | 283 | 284 | Library\UnityAssemblies\UnityEditor.Purchasing.dll 285 | 286 | 287 | Library\UnityAssemblies\UnityEngine.StandardEvents.dll 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | -------------------------------------------------------------------------------- /src/Real World Map Data/Real World Map Data.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{DA1EDF68-7CC3-01BA-F896-E02B056DC565}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {DA1EDF68-7CC3-01BA-F896-E02B056DC565}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {DA1EDF68-7CC3-01BA-F896-E02B056DC565}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {DA1EDF68-7CC3-01BA-F896-E02B056DC565}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {DA1EDF68-7CC3-01BA-F896-E02B056DC565}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5000e8726d597b646b56e266122917e6 3 | folderAsset: yes 4 | timeCreated: 1488659086 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/Basic Road.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/Assets/Art/Basic Road.mat -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/Basic Road.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e1c40c1bb4703a4689866a9ef8e123b 3 | timeCreated: 1488660482 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/Brick-2400b.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/Assets/Art/Brick-2400b.jpg -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/Brick-2400b.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38d3e54f2acf0dc4d8ead60720c7d123 3 | timeCreated: 1488738300 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/Brick.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/Assets/Art/Brick.mat -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/Brick.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 163f1f36db110a24ea5252e64771bed3 3 | timeCreated: 1488738310 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/Building.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/Assets/Art/Building.mat -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/Building.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af944d833c4deb84381f58dbb674300d 3 | timeCreated: 1488659093 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/Ground.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/Assets/Art/Ground.mat -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/Ground.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 505e75a86ad74104e9e6972654fb67d5 3 | timeCreated: 1488669896 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/asphalt_texture_seamless_by_rfalworth-d6y71cv.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/Assets/Art/asphalt_texture_seamless_by_rfalworth-d6y71cv.jpg -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/asphalt_texture_seamless_by_rfalworth-d6y71cv.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20d389454f9056d4cacfdacb97381bdd 3 | timeCreated: 1488660708 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 0 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | - buildTarget: Android 70 | maxTextureSize: 2048 71 | textureFormat: -1 72 | textureCompression: 1 73 | compressionQuality: 50 74 | crunchedCompression: 0 75 | allowsAlphaSplitting: 0 76 | overridden: 0 77 | spriteSheet: 78 | serializedVersion: 2 79 | sprites: [] 80 | outline: [] 81 | spritePackingTag: 82 | userData: 83 | assetBundleName: 84 | assetBundleVariant: 85 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/sand.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/Assets/Art/sand.jpg -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Art/sand.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29719c0cc2768484ea35e47037c8391a 3 | timeCreated: 1488669886 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee159e798aff50f44a0e2bb9f035a463 3 | folderAsset: yes 4 | timeCreated: 1488651739 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Resources/copyright.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/Assets/Resources/copyright.txt -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Resources/copyright.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f030ee56253550b4bb3c54651e4633dc 3 | timeCreated: 1488736677 4 | licenseType: Free 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Resources/mountflorida.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5983aa98a8cae8458c83b2270b2537d 3 | timeCreated: 1488651771 4 | licenseType: Free 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Resources/ny.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 915b748ea44d42440ab813f31729c879 3 | timeCreated: 1488659486 4 | licenseType: Free 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Resources/paris.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5613cb67af5d8434fbafa5346cd1ee6f 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Resources/toronto.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f3d7f6e2267b134285c8cd9bb0f1e9f 3 | timeCreated: 1488655200 4 | licenseType: Free 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d7cf80b37a81854c968dfb0a9707320 3 | folderAsset: yes 4 | timeCreated: 1488651748 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scenes/Map Reader Test.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/Assets/Scenes/Map Reader Test.unity -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scenes/Map Reader Test.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 504967da4b4b97a459872a4312857a04 3 | timeCreated: 1488651755 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7187933fbe3ba84fa5f84f5c1bc73c7 3 | folderAsset: yes 4 | timeCreated: 1488651743 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/BuildingMaker.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | /* 6 | Copyright (c) 2017 Sloan Kelly 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all 16 | copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | SOFTWARE. 25 | */ 26 | 27 | /// 28 | /// Make buildings. 29 | /// 30 | class BuildingMaker : InfrastructureBehaviour 31 | { 32 | public Material building; 33 | 34 | /// 35 | /// Create the buildings. 36 | /// 37 | /// 38 | IEnumerator Start() 39 | { 40 | // Wait until the map is ready 41 | while (!map.IsReady) 42 | { 43 | yield return null; 44 | } 45 | 46 | // Iterate through all the buildings in the 'ways' list 47 | foreach (var way in map.ways.FindAll((w) => { return w.IsBuilding && w.NodeIDs.Count > 1; })) 48 | { 49 | // Create the object 50 | CreateObject(way, building, "Building"); 51 | yield return null; 52 | } 53 | } 54 | 55 | /// 56 | /// Build the object using the data from the OsmWay instance. 57 | /// 58 | /// OsmWay instance 59 | /// The origin of the structure 60 | /// The vectors (vertices) list 61 | /// The normals list 62 | /// The UVs list 63 | /// The indices list 64 | protected override void OnObjectCreated(OsmWay way, Vector3 origin, List vectors, List normals, List uvs, List indices) 65 | { 66 | // Get the centre of the roof 67 | Vector3 oTop = new Vector3(0, way.Height, 0); 68 | 69 | // First vector is the middle point in the roof 70 | vectors.Add(oTop); 71 | normals.Add(Vector3.up); 72 | uvs.Add(new Vector2(0.5f, 0.5f)); 73 | 74 | for (int i = 1; i < way.NodeIDs.Count; i++) 75 | { 76 | OsmNode p1 = map.nodes[way.NodeIDs[i - 1]]; 77 | OsmNode p2 = map.nodes[way.NodeIDs[i]]; 78 | 79 | Vector3 v1 = p1 - origin; 80 | Vector3 v2 = p2 - origin; 81 | Vector3 v3 = v1 + new Vector3(0, way.Height, 0); 82 | Vector3 v4 = v2 + new Vector3(0, way.Height, 0); 83 | 84 | vectors.Add(v1); 85 | vectors.Add(v2); 86 | vectors.Add(v3); 87 | vectors.Add(v4); 88 | 89 | uvs.Add(new Vector2(0, 0)); 90 | uvs.Add(new Vector2(1, 0)); 91 | uvs.Add(new Vector2(0, 1)); 92 | uvs.Add(new Vector2(1, 1)); 93 | 94 | normals.Add(-Vector3.forward); 95 | normals.Add(-Vector3.forward); 96 | normals.Add(-Vector3.forward); 97 | normals.Add(-Vector3.forward); 98 | 99 | int idx1, idx2, idx3, idx4; 100 | idx4 = vectors.Count - 1; 101 | idx3 = vectors.Count - 2; 102 | idx2 = vectors.Count - 3; 103 | idx1 = vectors.Count - 4; 104 | 105 | // first triangle v1, v3, v2 106 | indices.Add(idx1); 107 | indices.Add(idx3); 108 | indices.Add(idx2); 109 | 110 | // second v3, v4, v2 111 | indices.Add(idx3); 112 | indices.Add(idx4); 113 | indices.Add(idx2); 114 | 115 | // third v2, v3, v1 116 | indices.Add(idx2); 117 | indices.Add(idx3); 118 | indices.Add(idx1); 119 | 120 | // fourth v2, v4, v3 121 | indices.Add(idx2); 122 | indices.Add(idx4); 123 | indices.Add(idx3); 124 | 125 | // And now the roof triangles 126 | indices.Add(0); 127 | indices.Add(idx3); 128 | indices.Add(idx4); 129 | 130 | // Don't forget the upside down one! 131 | indices.Add(idx4); 132 | indices.Add(idx3); 133 | indices.Add(0); 134 | } 135 | } 136 | } 137 | 138 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/BuildingMaker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35ebd1a66a1d2d14a8e83854dc792013 3 | timeCreated: 1488657534 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/InfrastructureBehaviour.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | /* 5 | Copyright (c) 2017 Sloan Kelly 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | */ 25 | 26 | /// 27 | /// Base infrastructure creator. 28 | /// 29 | [RequireComponent(typeof(MapReader))] 30 | abstract class InfrastructureBehaviour : MonoBehaviour 31 | { 32 | /// 33 | /// The map reader object; contains all the data to build procedural geometry. 34 | /// 35 | protected MapReader map; 36 | 37 | /// 38 | /// Awaken this instance!!! 39 | /// 40 | void Awake() 41 | { 42 | map = GetComponent(); 43 | } 44 | 45 | /// 46 | /// Get the centre of an object or road. 47 | /// 48 | /// OsmWay object 49 | /// The centre point of the object 50 | protected Vector3 GetCentre(OsmWay way) 51 | { 52 | Vector3 total = Vector3.zero; 53 | 54 | foreach (var id in way.NodeIDs) 55 | { 56 | total += map.nodes[id]; 57 | } 58 | 59 | return total / way.NodeIDs.Count; 60 | } 61 | 62 | /// 63 | /// Procedurally generate an object from the data given in the OsmWay instance. 64 | /// 65 | /// OsmWay instance 66 | /// Material to apply to the instance 67 | /// The name of the object (building name, road etc.) 68 | protected void CreateObject(OsmWay way, Material mat, string objectName) 69 | { 70 | // Make sure we have some name to display 71 | objectName = string.IsNullOrEmpty(objectName) ? "OsmWay" : objectName; 72 | 73 | // Create an instance of the object and place it in the centre of its points 74 | GameObject go = new GameObject(objectName); 75 | Vector3 localOrigin = GetCentre(way); 76 | go.transform.position = localOrigin - map.bounds.Centre; 77 | 78 | // Add the mesh filter and renderer components to the object 79 | MeshFilter mf = go.AddComponent(); 80 | MeshRenderer mr = go.AddComponent(); 81 | 82 | // Apply the material 83 | mr.material = mat; 84 | 85 | // Create the collections for the object's vertices, indices, UVs etc. 86 | List vectors = new List(); 87 | List normals = new List(); 88 | List uvs = new List(); 89 | List indices = new List(); 90 | 91 | // Call the child class' object creation code 92 | OnObjectCreated(way, localOrigin, vectors, normals, uvs, indices); 93 | 94 | // Apply the data to the mesh 95 | mf.mesh.vertices = vectors.ToArray(); 96 | mf.mesh.normals = normals.ToArray(); 97 | mf.mesh.triangles = indices.ToArray(); 98 | mf.mesh.uv = uvs.ToArray(); 99 | } 100 | 101 | protected abstract void OnObjectCreated(OsmWay way, Vector3 origin, List vectors, List normals, List uvs, List indices); 102 | } 103 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/InfrastructureBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 397e13afce86a664dbab0cd238604f79 3 | timeCreated: 1488661266 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/MapReader.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Xml; 3 | using UnityEngine; 4 | 5 | /* 6 | Copyright (c) 2017 Sloan Kelly 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all 16 | copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | SOFTWARE. 25 | */ 26 | 27 | class MapReader : MonoBehaviour 28 | { 29 | [HideInInspector] 30 | public Dictionary nodes; 31 | 32 | [HideInInspector] 33 | public List ways; 34 | 35 | [HideInInspector] 36 | public OsmBounds bounds; 37 | 38 | public GameObject groundPlane; 39 | 40 | [Tooltip("The resource file that contains the OSM map data")] 41 | public string resourceFile; 42 | 43 | public bool IsReady { get; private set; } 44 | 45 | // Use this for initialization 46 | void Start () 47 | { 48 | nodes = new Dictionary(); 49 | ways = new List(); 50 | 51 | var txtAsset = Resources.Load(resourceFile); 52 | 53 | XmlDocument doc = new XmlDocument(); 54 | doc.LoadXml(txtAsset.text); 55 | 56 | SetBounds(doc.SelectSingleNode("/osm/bounds")); 57 | GetNodes(doc.SelectNodes("/osm/node")); 58 | GetWays(doc.SelectNodes("/osm/way")); 59 | 60 | float minx = (float)MercatorProjection.lonToX(bounds.MinLon); 61 | float maxx = (float)MercatorProjection.lonToX(bounds.MaxLon); 62 | float miny = (float)MercatorProjection.latToY(bounds.MinLat); 63 | float maxy = (float)MercatorProjection.latToY(bounds.MaxLat); 64 | 65 | groundPlane.transform.localScale = new Vector3((maxx - minx) / 2, 1, (maxy - miny) / 2); 66 | 67 | IsReady = true; 68 | } 69 | 70 | void Update() 71 | { 72 | foreach (OsmWay w in ways) 73 | { 74 | if (w.Visible) 75 | { 76 | Color c = Color.cyan; // cyan for buildings 77 | if (!w.IsBoundary) c = Color.red; // red for roads 78 | 79 | for (int i = 1; i < w.NodeIDs.Count; i++) 80 | { 81 | OsmNode p1 = nodes[w.NodeIDs[i - 1]]; 82 | OsmNode p2 = nodes[w.NodeIDs[i]]; 83 | 84 | Vector3 v1 = p1 - bounds.Centre; 85 | Vector3 v2 = p2 - bounds.Centre; 86 | 87 | Debug.DrawLine(v1, v2, c); 88 | } 89 | } 90 | } 91 | } 92 | 93 | void GetWays(XmlNodeList xmlNodeList) 94 | { 95 | foreach (XmlNode node in xmlNodeList) 96 | { 97 | OsmWay way = new OsmWay(node); 98 | ways.Add(way); 99 | } 100 | } 101 | 102 | void GetNodes(XmlNodeList xmlNodeList) 103 | { 104 | foreach (XmlNode n in xmlNodeList) 105 | { 106 | OsmNode node = new OsmNode(n); 107 | nodes[node.ID] = node; 108 | } 109 | } 110 | 111 | void SetBounds(XmlNode xmlNode) 112 | { 113 | bounds = new OsmBounds(xmlNode); 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/MapReader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 477df58ce534d3a498e6e5e145207e52 3 | timeCreated: 1488651902 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/MercatorProjection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | /// 4 | /// C# Implementation by Florian Müller, based on the C code published at 5 | /// http://wiki.openstreetmap.org/wiki/Mercator#C_implementation 14:50, 20.6.2008; 6 | /// updated to static functions by David Schmitt, 23.4.2010 7 | /// 8 | public static class MercatorProjection 9 | { 10 | private static readonly double R_MAJOR = 6378137.0; 11 | private static readonly double R_MINOR = 6356752.3142; 12 | private static readonly double RATIO = R_MINOR / R_MAJOR; 13 | private static readonly double ECCENT = Math.Sqrt(1.0 - (RATIO * RATIO)); 14 | private static readonly double COM = 0.5 * ECCENT; 15 | 16 | private static readonly double DEG2RAD = Math.PI / 180.0; 17 | private static readonly double RAD2Deg = 180.0 / Math.PI; 18 | private static readonly double PI_2 = Math.PI / 2.0; 19 | 20 | public static double[] toPixel(double lon, double lat) 21 | { 22 | return new double[] { lonToX(lon), latToY(lat) }; 23 | } 24 | 25 | public static double[] toGeoCoord(double x, double y) 26 | { 27 | return new double[] { xToLon(x), yToLat(y) }; 28 | } 29 | 30 | public static double lonToX(double lon) 31 | { 32 | return R_MAJOR * DegToRad(lon); 33 | } 34 | 35 | public static double latToY(double lat) 36 | { 37 | lat = Math.Min(89.5, Math.Max(lat, -89.5)); 38 | double phi = DegToRad(lat); 39 | double sinphi = Math.Sin(phi); 40 | double con = ECCENT * sinphi; 41 | con = Math.Pow(((1.0 - con) / (1.0 + con)), COM); 42 | double ts = Math.Tan(0.5 * ((Math.PI * 0.5) - phi)) / con; 43 | return 0 - R_MAJOR * Math.Log(ts); 44 | } 45 | 46 | public static double xToLon(double x) 47 | { 48 | return RadToDeg(x) / R_MAJOR; 49 | } 50 | 51 | public static double yToLat(double y) 52 | { 53 | double ts = Math.Exp(-y / R_MAJOR); 54 | double phi = PI_2 - 2 * Math.Atan(ts); 55 | double dphi = 1.0; 56 | int i = 0; 57 | while ((Math.Abs(dphi) > 0.000000001) && (i < 15)) 58 | { 59 | double con = ECCENT * Math.Sin(phi); 60 | dphi = PI_2 - 2 * Math.Atan(ts * Math.Pow((1.0 - con) / (1.0 + con), COM)) - phi; 61 | phi += dphi; 62 | i++; 63 | } 64 | return RadToDeg(phi); 65 | } 66 | 67 | private static double RadToDeg(double rad) 68 | { 69 | return rad * RAD2Deg; 70 | } 71 | 72 | private static double DegToRad(double deg) 73 | { 74 | return deg * DEG2RAD; 75 | } 76 | } -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/MercatorProjection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc10c7e6cf1a9d44a862af57d6b97d44 3 | timeCreated: 1488653187 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/RoadMaker.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | /* 6 | Copyright (c) 2017 Sloan Kelly 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all 16 | copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | SOFTWARE. 25 | */ 26 | 27 | /// 28 | /// Road infrastructure maker. 29 | /// 30 | class RoadMaker : InfrastructureBehaviour 31 | { 32 | public Material roadMaterial; 33 | 34 | /// 35 | /// Create the roads. 36 | /// 37 | /// 38 | IEnumerator Start() 39 | { 40 | // Wait for the map to become ready 41 | while (!map.IsReady) 42 | { 43 | yield return null; 44 | } 45 | 46 | // Iterate through the roads and build each one 47 | foreach (var way in map.ways.FindAll((w) => { return w.IsRoad; })) 48 | { 49 | CreateObject(way, roadMaterial, way.Name); 50 | yield return null; 51 | } 52 | } 53 | 54 | protected override void OnObjectCreated(OsmWay way, Vector3 origin, List vectors, List normals, List uvs, List indices) 55 | { 56 | for (int i = 1; i < way.NodeIDs.Count; i++) 57 | { 58 | OsmNode p1 = map.nodes[way.NodeIDs[i - 1]]; 59 | OsmNode p2 = map.nodes[way.NodeIDs[i]]; 60 | 61 | Vector3 s1 = p1 - origin; 62 | Vector3 s2 = p2 - origin; 63 | 64 | Vector3 diff = (s2 - s1).normalized; 65 | 66 | // https://en.wikipedia.org/wiki/Lane 67 | // According to the article, it's 3.7m in Canada 68 | var cross = Vector3.Cross(diff, Vector3.up) * 3.7f * way.Lanes; 69 | 70 | // Create points that represent the width of the road 71 | Vector3 v1 = s1 + cross; 72 | Vector3 v2 = s1 - cross; 73 | Vector3 v3 = s2 + cross; 74 | Vector3 v4 = s2 - cross; 75 | 76 | vectors.Add(v1); 77 | vectors.Add(v2); 78 | vectors.Add(v3); 79 | vectors.Add(v4); 80 | 81 | uvs.Add(new Vector2(0, 0)); 82 | uvs.Add(new Vector2(1, 0)); 83 | uvs.Add(new Vector2(0, 1)); 84 | uvs.Add(new Vector2(1, 1)); 85 | 86 | normals.Add(Vector3.up); 87 | normals.Add(Vector3.up); 88 | normals.Add(Vector3.up); 89 | normals.Add(Vector3.up); 90 | 91 | int idx1, idx2, idx3, idx4; 92 | idx4 = vectors.Count - 1; 93 | idx3 = vectors.Count - 2; 94 | idx2 = vectors.Count - 3; 95 | idx1 = vectors.Count - 4; 96 | 97 | // first triangle v1, v3, v2 98 | indices.Add(idx1); 99 | indices.Add(idx3); 100 | indices.Add(idx2); 101 | 102 | // second v3, v4, v2 103 | indices.Add(idx3); 104 | indices.Add(idx4); 105 | indices.Add(idx2); 106 | } 107 | } 108 | } 109 | 110 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/RoadMaker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b97ca0d0a5b3be845ab32653cc2e4727 3 | timeCreated: 1488657534 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/Serialization.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac1f48d5c1c0540488b75c23fd038ad6 3 | folderAsset: yes 4 | timeCreated: 1488653187 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/Serialization/BaseOsm.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Xml; 3 | 4 | /* 5 | Copyright (c) 2017 Sloan Kelly 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | */ 25 | 26 | /// 27 | /// Base Open Street Map (OSM) data node. 28 | /// 29 | class BaseOsm 30 | { 31 | /// 32 | /// Get an attribute's value from the collection using the given 'attrName'. 33 | /// 34 | /// Data type 35 | /// Name of the attribute 36 | /// Node's attribute collection 37 | /// The value of the attribute converted to the required type 38 | protected T GetAttribute(string attrName, XmlAttributeCollection attributes) 39 | { 40 | // TODO: We are going to assume 'attrName' exists in the collection 41 | string strValue = attributes[attrName].Value; 42 | return (T)Convert.ChangeType(strValue, typeof(T)); 43 | } 44 | } 45 | 46 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/Serialization/BaseOsm.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d9e65e8187bd9b479aa470acbba6a66 3 | timeCreated: 1488653385 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/Serialization/OsmBounds.cs: -------------------------------------------------------------------------------- 1 | using System.Xml; 2 | using UnityEngine; 3 | 4 | /* 5 | Copyright (c) 2017 Sloan Kelly 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | */ 25 | 26 | /// 27 | /// OSM map bounds. 28 | /// 29 | class OsmBounds : BaseOsm 30 | { 31 | /// 32 | /// Minimum latitude (y-axis) 33 | /// 34 | public float MinLat { get; private set; } 35 | 36 | /// 37 | /// Maximum latitude (y-axis) 38 | /// 39 | public float MaxLat { get; private set; } 40 | 41 | /// 42 | /// Minimum longitude (x-axis) 43 | /// 44 | public float MinLon { get; private set; } 45 | 46 | /// 47 | /// Maximum longitude (x-axis) 48 | /// 49 | public float MaxLon { get; private set; } 50 | 51 | /// 52 | /// Centre of the map in Unity units. 53 | /// 54 | public Vector3 Centre { get; private set; } 55 | 56 | /// 57 | /// Constructor. 58 | /// 59 | /// Xml node 60 | public OsmBounds(XmlNode node) 61 | { 62 | // Get the values from the node 63 | MinLat = GetAttribute("minlat", node.Attributes); 64 | MaxLat = GetAttribute("maxlat", node.Attributes); 65 | MinLon = GetAttribute("minlon", node.Attributes); 66 | MaxLon = GetAttribute("maxlon", node.Attributes); 67 | 68 | // Create the centre location 69 | float x = (float)((MercatorProjection.lonToX(MaxLon) + MercatorProjection.lonToX(MinLon)) / 2); 70 | float y = (float)((MercatorProjection.latToY(MaxLat) + MercatorProjection.latToY(MinLat)) / 2); 71 | Centre = new Vector3(x, 0, y); 72 | } 73 | } -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/Serialization/OsmBounds.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97a40a7dc0304834c9c0845a357b6973 3 | timeCreated: 1488653385 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/Serialization/OsmNode.cs: -------------------------------------------------------------------------------- 1 | using System.Xml; 2 | using UnityEngine; 3 | 4 | /* 5 | Copyright (c) 2017 Sloan Kelly 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | */ 25 | 26 | /// 27 | /// OSM node. 28 | /// 29 | class OsmNode : BaseOsm 30 | { 31 | /// 32 | /// Node ID. 33 | /// 34 | public ulong ID { get; private set; } 35 | 36 | /// 37 | /// Latitude position of the node. 38 | /// 39 | public float Latitude { get; private set; } 40 | 41 | /// 42 | /// Longitude position of the node. 43 | /// 44 | public float Longitude { get; private set; } 45 | 46 | /// 47 | /// Unity unit X-co-ordinate. 48 | /// 49 | public float X { get; private set; } 50 | 51 | /// 52 | /// Unity unit Y-co-ordinate. 53 | /// 54 | public float Y { get; private set; } 55 | 56 | /// 57 | /// Implicit conversion between OsmNode and Vector3. 58 | /// 59 | /// OsmNode instance 60 | public static implicit operator Vector3 (OsmNode node) 61 | { 62 | return new Vector3(node.X, 0, node.Y); 63 | } 64 | 65 | /// 66 | /// Constructor. 67 | /// 68 | /// Xml node 69 | public OsmNode(XmlNode node) 70 | { 71 | // Get the attribute values 72 | ID = GetAttribute("id", node.Attributes); 73 | Latitude = GetAttribute("lat", node.Attributes); 74 | Longitude = GetAttribute("lon", node.Attributes); 75 | 76 | // Calculate the position in Unity units 77 | X = (float)MercatorProjection.lonToX(Longitude); 78 | Y = (float)MercatorProjection.latToY(Latitude); 79 | } 80 | } 81 | 82 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/Serialization/OsmNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8c9eef0b7b042b4193e54e49a63ced2 3 | timeCreated: 1488653187 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/Serialization/OsmWay.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Xml; 3 | 4 | /* 5 | Copyright (c) 2017 Sloan Kelly 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | */ 25 | 26 | /// 27 | /// An OSM object that describes an arrangement of OsmNodes into a shape or road. 28 | /// 29 | class OsmWay : BaseOsm 30 | { 31 | /// 32 | /// Way ID. 33 | /// 34 | public ulong ID { get; private set; } 35 | 36 | /// 37 | /// True if visible. 38 | /// 39 | public bool Visible { get; private set; } 40 | 41 | /// 42 | /// List of node IDs. 43 | /// 44 | public List NodeIDs { get; private set; } 45 | 46 | /// 47 | /// True if the way is a boundary. 48 | /// 49 | public bool IsBoundary { get; private set; } 50 | 51 | /// 52 | /// True if the way is a building. 53 | /// 54 | public bool IsBuilding { get; private set; } 55 | 56 | /// 57 | /// True if the way is a road. 58 | /// 59 | public bool IsRoad { get; private set; } 60 | 61 | /// 62 | /// Height of the structure. 63 | /// 64 | public float Height { get; private set; } 65 | 66 | /// 67 | /// The name of the object. 68 | /// 69 | public string Name { get; private set; } 70 | 71 | /// 72 | /// The number of lanes on the road. Default is 1 for contra-flow 73 | /// 74 | public int Lanes { get; private set; } 75 | 76 | /// 77 | /// Constructor. 78 | /// 79 | /// 80 | public OsmWay(XmlNode node) 81 | { 82 | NodeIDs = new List(); 83 | Height = 3.0f; // Default height for structures is 1 story (approx. 3m) 84 | Lanes = 1; // Number of lanes either side of the divide 85 | Name = ""; 86 | 87 | // Get the data from the attributes 88 | ID = GetAttribute("id", node.Attributes); 89 | Visible = GetAttribute("visible", node.Attributes); 90 | 91 | // Get the nodes 92 | XmlNodeList nds = node.SelectNodes("nd"); 93 | foreach(XmlNode n in nds) 94 | { 95 | ulong refNo = GetAttribute("ref", n.Attributes); 96 | NodeIDs.Add(refNo); 97 | } 98 | 99 | if (NodeIDs.Count > 1) 100 | { 101 | IsBoundary = NodeIDs[0] == NodeIDs[NodeIDs.Count - 1]; 102 | } 103 | 104 | // Read the tags 105 | XmlNodeList tags = node.SelectNodes("tag"); 106 | foreach (XmlNode t in tags) 107 | { 108 | string key = GetAttribute("k", t.Attributes); 109 | if (key == "building:levels") 110 | { 111 | Height = 3.0f * GetAttribute("v", t.Attributes); 112 | } 113 | else if (key == "height") 114 | { 115 | Height = 0.3048f * GetAttribute("v", t.Attributes); 116 | } 117 | else if (key == "building") 118 | { 119 | IsBuilding = true; // GetAttribute("v", t.Attributes) == "yes"; 120 | } 121 | else if (key == "highway") 122 | { 123 | IsRoad = true; 124 | } 125 | else if (key=="lanes") 126 | { 127 | Lanes = GetAttribute("v", t.Attributes); 128 | } 129 | else if (key=="name") 130 | { 131 | Name = GetAttribute("v", t.Attributes); 132 | } 133 | } 134 | } 135 | } 136 | 137 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Assets/Scripts/Serialization/OsmWay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a68e102ab9702d2408da24d250413c7f 3 | timeCreated: 1488653187 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/MapTutorial.Editor.Plugins.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 10.0.20506 7 | 2.0 8 | {FC989359-0069-05B4-5377-CD0F202513BE} 9 | Library 10 | Assembly-CSharp-Editor-firstpass 11 | 512 12 | {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 13 | .NETFramework 14 | v3.5 15 | Unity Full v3.5 16 | 17 | EditorPlugins:7 18 | StandaloneWindows:5 19 | 5.5.0f3 20 | 21 | 4 22 | 23 | 24 | pdbonly 25 | false 26 | Temp\UnityVS_bin\Debug\ 27 | Temp\UnityVS_obj\Debug\ 28 | prompt 29 | 4 30 | DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 31 | false 32 | 33 | 34 | pdbonly 35 | false 36 | Temp\UnityVS_bin\Release\ 37 | Temp\UnityVS_obj\Release\ 38 | prompt 39 | 4 40 | TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 41 | false 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | Library\UnityAssemblies\UnityEngine.dll 54 | 55 | 56 | Library\UnityAssemblies\UnityEditor.dll 57 | 58 | 59 | Library\UnityAssemblies\UnityEditor.Advertisements.dll 60 | 61 | 62 | Library\UnityAssemblies\nunit.framework.dll 63 | 64 | 65 | Library\UnityAssemblies\UnityEditor.EditorTestsRunner.dll 66 | 67 | 68 | Library\UnityAssemblies\UnityEngine.UI.dll 69 | 70 | 71 | Library\UnityAssemblies\UnityEditor.UI.dll 72 | 73 | 74 | Library\UnityAssemblies\UnityEngine.Networking.dll 75 | 76 | 77 | Library\UnityAssemblies\UnityEditor.Networking.dll 78 | 79 | 80 | Library\UnityAssemblies\UnityEditor.PlaymodeTestsRunner.dll 81 | 82 | 83 | Library\UnityAssemblies\UnityEngine.PlaymodeTestsRunner.dll 84 | 85 | 86 | Library\UnityAssemblies\UnityEditor.TreeEditor.dll 87 | 88 | 89 | Library\UnityAssemblies\UnityEngine.Analytics.dll 90 | 91 | 92 | Library\UnityAssemblies\UnityEditor.Analytics.dll 93 | 94 | 95 | Library\UnityAssemblies\UnityEditor.HoloLens.dll 96 | 97 | 98 | Library\UnityAssemblies\UnityEngine.HoloLens.dll 99 | 100 | 101 | Library\UnityAssemblies\UnityEditor.VR.dll 102 | 103 | 104 | Library\UnityAssemblies\UnityEngine.VR.dll 105 | 106 | 107 | Library\UnityAssemblies\UnityEditor.Graphs.dll 108 | 109 | 110 | Library\UnityAssemblies\UnityEditor.Android.Extensions.dll 111 | 112 | 113 | Library\UnityAssemblies\UnityEditor.WindowsStandalone.Extensions.dll 114 | 115 | 116 | Library\UnityAssemblies\SyntaxTree.VisualStudio.Unity.Bridge.dll 117 | 118 | 119 | 120 | 121 | {3B154AB6-67C7-AB05-9236-C2669CB031B5} 122 | MapTutorial.Plugins 123 | 124 | 125 | {D6815D30-C575-F21B-17B9-59513864E4E5} 126 | MapTutorial 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/MapTutorial.Plugins.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 10.0.20506 7 | 2.0 8 | {3B154AB6-67C7-AB05-9236-C2669CB031B5} 9 | Library 10 | Assembly-CSharp-firstpass 11 | 512 12 | {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 13 | .NETFramework 14 | v3.5 15 | Unity Subset v3.5 16 | 17 | GamePlugins:3 18 | StandaloneWindows:5 19 | 5.5.0f3 20 | 21 | 4 22 | 23 | 24 | pdbonly 25 | false 26 | Temp\UnityVS_bin\Debug\ 27 | Temp\UnityVS_obj\Debug\ 28 | prompt 29 | 4 30 | DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 31 | false 32 | 33 | 34 | pdbonly 35 | false 36 | Temp\UnityVS_bin\Release\ 37 | Temp\UnityVS_obj\Release\ 38 | prompt 39 | 4 40 | TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 41 | false 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | Library\UnityAssemblies\UnityEngine.dll 54 | 55 | 56 | Library\UnityAssemblies\UnityEngine.UI.dll 57 | 58 | 59 | Library\UnityAssemblies\UnityEngine.Networking.dll 60 | 61 | 62 | Library\UnityAssemblies\UnityEngine.PlaymodeTestsRunner.dll 63 | 64 | 65 | Library\UnityAssemblies\UnityEngine.Analytics.dll 66 | 67 | 68 | Library\UnityAssemblies\UnityEngine.HoloLens.dll 69 | 70 | 71 | Library\UnityAssemblies\UnityEngine.VR.dll 72 | 73 | 74 | Library\UnityAssemblies\UnityEditor.dll 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/MapTutorial.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 10.0.20506 7 | 2.0 8 | {D6815D30-C575-F21B-17B9-59513864E4E5} 9 | Library 10 | Assembly-CSharp 11 | 512 12 | {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 13 | .NETFramework 14 | v3.5 15 | Unity Subset v3.5 16 | 17 | Game:1 18 | StandaloneWindows:5 19 | 5.5.0f3 20 | 21 | 4 22 | 23 | 24 | pdbonly 25 | false 26 | Temp\UnityVS_bin\Debug\ 27 | Temp\UnityVS_obj\Debug\ 28 | prompt 29 | 4 30 | DEBUG;TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 31 | false 32 | 33 | 34 | pdbonly 35 | false 36 | Temp\UnityVS_bin\Release\ 37 | Temp\UnityVS_obj\Release\ 38 | prompt 39 | 4 40 | TRACE;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_5_0;UNITY_5_5;UNITY_5;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_GENERICS;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;INCLUDE_PUBNUB;ENABLE_PLAYMODE_TESTS_RUNNER;ENABLE_SCRIPTING_NEW_CSHARP_COMPILER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITYWEBREQUEST;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_VIDEO;ENABLE_VR;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;UNITY_TEAM_LICENSE;ENABLE_VSTU;CROSS_PLATFORM_INPUT 41 | false 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | Library\UnityAssemblies\UnityEngine.dll 54 | 55 | 56 | Library\UnityAssemblies\UnityEngine.UI.dll 57 | 58 | 59 | Library\UnityAssemblies\UnityEngine.Networking.dll 60 | 61 | 62 | Library\UnityAssemblies\UnityEngine.PlaymodeTestsRunner.dll 63 | 64 | 65 | Library\UnityAssemblies\UnityEngine.Analytics.dll 66 | 67 | 68 | Library\UnityAssemblies\UnityEngine.HoloLens.dll 69 | 70 | 71 | Library\UnityAssemblies\UnityEngine.VR.dll 72 | 73 | 74 | Library\UnityAssemblies\UnityEditor.dll 75 | 76 | 77 | 78 | 79 | {3B154AB6-67C7-AB05-9236-C2669CB031B5} 80 | MapTutorial.Plugins 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/MapTutorial.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2015 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapTutorial.Plugins", "MapTutorial.Plugins.csproj", "{3B154AB6-67C7-AB05-9236-C2669CB031B5}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapTutorial", "MapTutorial.csproj", "{D6815D30-C575-F21B-17B9-59513864E4E5}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapTutorial.Editor.Plugins", "MapTutorial.Editor.Plugins.csproj", "{FC989359-0069-05B4-5377-CD0F202513BE}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {3B154AB6-67C7-AB05-9236-C2669CB031B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {3B154AB6-67C7-AB05-9236-C2669CB031B5}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {3B154AB6-67C7-AB05-9236-C2669CB031B5}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {3B154AB6-67C7-AB05-9236-C2669CB031B5}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {D6815D30-C575-F21B-17B9-59513864E4E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {D6815D30-C575-F21B-17B9-59513864E4E5}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {D6815D30-C575-F21B-17B9-59513864E4E5}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {D6815D30-C575-F21B-17B9-59513864E4E5}.Release|Any CPU.Build.0 = Release|Any CPU 24 | {FC989359-0069-05B4-5377-CD0F202513BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 25 | {FC989359-0069-05B4-5377-CD0F202513BE}.Debug|Any CPU.Build.0 = Debug|Any CPU 26 | {FC989359-0069-05B4-5377-CD0F202513BE}.Release|Any CPU.ActiveCfg = Release|Any CPU 27 | {FC989359-0069-05B4-5377-CD0F202513BE}.Release|Any CPU.Build.0 = Release|Any CPU 28 | EndGlobalSection 29 | GlobalSection(SolutionProperties) = preSolution 30 | HideSolutionNode = FALSE 31 | EndGlobalSection 32 | EndGlobal 33 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ads": "2.0.8", 4 | "com.unity.analytics": "3.2.2", 5 | "com.unity.collab-proxy": "1.2.15", 6 | "com.unity.package-manager-ui": "2.0.7", 7 | "com.unity.purchasing": "2.0.3", 8 | "com.unity.textmeshpro": "1.3.0", 9 | "com.unity.modules.ai": "1.0.0", 10 | "com.unity.modules.animation": "1.0.0", 11 | "com.unity.modules.assetbundle": "1.0.0", 12 | "com.unity.modules.audio": "1.0.0", 13 | "com.unity.modules.cloth": "1.0.0", 14 | "com.unity.modules.director": "1.0.0", 15 | "com.unity.modules.imageconversion": "1.0.0", 16 | "com.unity.modules.imgui": "1.0.0", 17 | "com.unity.modules.jsonserialize": "1.0.0", 18 | "com.unity.modules.particlesystem": "1.0.0", 19 | "com.unity.modules.physics": "1.0.0", 20 | "com.unity.modules.physics2d": "1.0.0", 21 | "com.unity.modules.screencapture": "1.0.0", 22 | "com.unity.modules.terrain": "1.0.0", 23 | "com.unity.modules.terrainphysics": "1.0.0", 24 | "com.unity.modules.tilemap": "1.0.0", 25 | "com.unity.modules.ui": "1.0.0", 26 | "com.unity.modules.uielements": "1.0.0", 27 | "com.unity.modules.umbra": "1.0.0", 28 | "com.unity.modules.unityanalytics": "1.0.0", 29 | "com.unity.modules.unitywebrequest": "1.0.0", 30 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 31 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 32 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 33 | "com.unity.modules.unitywebrequestwww": "1.0.0", 34 | "com.unity.modules.vehicles": "1.0.0", 35 | "com.unity.modules.video": "1.0.0", 36 | "com.unity.modules.vr": "1.0.0", 37 | "com.unity.modules.wind": "1.0.0", 38 | "com.unity.modules.xr": "1.0.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/AudioManager.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/ClusterInputManager.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/DynamicsManager.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/EditorBuildSettings.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/EditorSettings.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/GraphicsSettings.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/InputManager.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/NavMeshAreas.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/NetworkManager.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/Physics2DSettings.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/PresetManager.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/ProjectSettings.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2018.3.11f1 2 | -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/QualitySettings.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/TagManager.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/TimeManager.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/UnityConnectSettings.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codehoose/real-world-map-data/c1b1d5a194b6e29307f9fc4b280fc45c5357a202/src/Scene Based Real World Map Data/ProjectSettings/VFXManager.asset -------------------------------------------------------------------------------- /src/Scene Based Real World Map Data/Scene Based Real World Map Data.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{E8ABA4E1-7A08-210C-6197-7F9BD05ECC8D}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {E8ABA4E1-7A08-210C-6197-7F9BD05ECC8D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {E8ABA4E1-7A08-210C-6197-7F9BD05ECC8D}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {E8ABA4E1-7A08-210C-6197-7F9BD05ECC8D}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {E8ABA4E1-7A08-210C-6197-7F9BD05ECC8D}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | --------------------------------------------------------------------------------