Browse Source

Routes and Routes Editors

Marcel Zickler 3 years ago
parent
commit
310eaa5d4a
65 changed files with 2773 additions and 268 deletions
  1. 1 1
      Assembly-CSharp-Editor.csproj
  2. 1 1
      Assembly-CSharp.csproj
  3. 46 0
      Assets/Editor/RouteDrawer.cs
  4. 3 0
      Assets/Editor/RouteDrawer.cs.meta
  5. 44 0
      Assets/Editor/RoutesEditor.cs
  6. 3 0
      Assets/Editor/RoutesEditor.cs.meta
  7. 1 1
      Assets/Logs.meta
  8. 127 0
      Assets/Materials/3dArrowMaterial.mat
  9. 8 0
      Assets/Materials/3dArrowMaterial.mat.meta
  10. 90 0
      Assets/Materials/CoinMaterial.mat
  11. 8 0
      Assets/Materials/CoinMaterial.mat.meta
  12. 8 0
      Assets/Models/Route.meta
  13. 236 0
      Assets/Models/Route/arrow.fbx
  14. 97 0
      Assets/Models/Route/arrow.fbx.meta
  15. 0 0
      Assets/Prefabs/Buildings/SM_Bld_OfficeOld_Large_Base_Stairs_01.prefab
  16. 0 0
      Assets/Prefabs/Buildings/SM_Bld_OfficeOld_Large_Base_Stairs_01.prefab.meta
  17. 319 109
      Assets/Prefabs/Roads/Road_Crossing_With_Sidewalk.prefab
  18. 16 1
      Assets/Prefabs/Roads/Road_Straight_With_Sidewalk.prefab
  19. 8 0
      Assets/Prefabs/Routes.meta
  20. BIN
      Assets/Prefabs/Routes/.mayaSwatches/coin.ma.swatches
  21. 487 0
      Assets/Prefabs/Routes/Arrows.prefab
  22. 7 0
      Assets/Prefabs/Routes/Arrows.prefab.meta
  23. 76 0
      Assets/Prefabs/Routes/arrow.prefab
  24. 7 0
      Assets/Prefabs/Routes/arrow.prefab.meta
  25. BIN
      Assets/Prefabs/Routes/coin.fbx
  26. 97 0
      Assets/Prefabs/Routes/coin.fbx.meta
  27. 71 0
      Assets/Prefabs/coin.prefab
  28. 7 0
      Assets/Prefabs/coin.prefab.meta
  29. 176 125
      Assets/Scenes/MainScene.unity
  30. 3 0
      Assets/Scripts/Pools.meta
  31. 64 0
      Assets/Scripts/Pools/Pool.cs
  32. 3 0
      Assets/Scripts/Pools/Pool.cs.meta
  33. 3 0
      Assets/Scripts/Roads.meta
  34. 199 0
      Assets/Scripts/Roads/CrossingExtras.cs
  35. 3 0
      Assets/Scripts/Roads/CrossingExtras.cs.meta
  36. 12 0
      Assets/Scripts/Roads/StraightRoadExtras.cs
  37. 11 0
      Assets/Scripts/Roads/StraightRoadExtras.cs.meta
  38. 46 0
      Assets/Scripts/Routes/Route.cs
  39. 0 0
      Assets/Scripts/Routes/Route.cs.meta
  40. 0 10
      Assets/Scripts/Routes/RouteRenderer.cs
  41. 0 3
      Assets/Scripts/Routes/RouteRenderer.cs.meta
  42. 0 11
      Assets/Scripts/Routes/RouteTrajectory.cs
  43. 17 0
      Assets/Scripts/Routes/Routes.cs
  44. 3 0
      Assets/Scripts/Routes/Routes.cs.meta
  45. 12 0
      Assets/Scripts/Routes/Turn.cs
  46. 3 0
      Assets/Scripts/Routes/Turn.cs.meta
  47. 8 0
      Assets/Textures/Routes.meta
  48. BIN
      Assets/Textures/Routes/coin_normal.jpg
  49. 140 0
      Assets/Textures/Routes/coin_normal.jpg.meta
  50. BIN
      Assets/Textures/Routes/coin_specular.jpg
  51. 152 0
      Assets/Textures/Routes/coin_specular.jpg.meta
  52. BIN
      Assets/Textures/Routes/coin_texture.jpg
  53. 140 0
      Assets/Textures/Routes/coin_texture.jpg.meta
  54. 0 0
      Assets/Textures/Routes/route_arrow.png
  55. 0 0
      Assets/Textures/Routes/route_arrow.png.meta
  56. 3 0
      ProjectSettings/FbxExportSettings.asset
  57. 2 2
      ProjectSettings/ProjectVersion.txt
  58. 1 0
      ProjectSettings/TagManager.asset
  59. 1 1
      SteamVR.csproj
  60. 1 1
      SteamVR_Editor.csproj
  61. 1 1
      SteamVR_Input_Editor.csproj
  62. 1 1
      SteamVR_Windows_EditorHelper.csproj
  63. BIN
      obj/Debug/Assembly-CSharp-Editor.csprojAssemblyReference.cache
  64. BIN
      obj/Debug/Assembly-CSharp.csprojAssemblyReference.cache
  65. BIN
      obj/Debug/SteamVR_Windows_EditorHelper.csprojAssemblyReference.cache

File diff suppressed because it is too large
+ 1 - 1
Assembly-CSharp-Editor.csproj


File diff suppressed because it is too large
+ 1 - 1
Assembly-CSharp.csproj


+ 46 - 0
Assets/Editor/RouteDrawer.cs

@@ -0,0 +1,46 @@
+using Routes;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.UIElements;
+
+
+// ReSharper disable once CheckNamespace
+public static class RouteDrawer
+{
+
+    private static bool showListContent = true;
+
+    public static void PropertyField(SerializedProperty route)
+    {
+        Debug.Log("route = "+route);
+        ListField(route.FindPropertyRelative("items"));
+    }
+
+    private static void ListField(SerializedProperty list)
+    {
+        //EditorGUILayout.BeginHorizontal();
+        showListContent = EditorGUILayout.Foldout(showListContent, $"{list.displayName} (Length = {0/*list.arraySize*/})");
+        EditorGUILayout.EndHorizontal();
+        //EditorGUILayout.PropertyField(list.displayName);
+        if (showListContent) {
+            EditorGUI.indentLevel += 1;
+            for (var i = 0; i < list.arraySize; i++) {
+                EditorGUILayout.BeginHorizontal();
+                EditorGUILayout.PropertyField(list.GetArrayElementAtIndex(i));
+                if (GUILayout.Button("-", EditorStyles.miniButton, GUILayout.Width(32)))
+                {
+                    list.DeleteArrayElementAtIndex(i);
+                }
+                EditorGUILayout.EndHorizontal();
+            }
+            EditorGUI.indentLevel -= 1;
+        }
+        
+        //EditorGUILayout.EndHorizontal();
+        //EditorGUILayout.EndFoldoutHeaderGroup();
+        /*if (GUILayout.Button("+", EditorStyles.miniButton, GUILayout.Width(128)))
+        {
+            list.InsertArrayElementAtIndex(0);
+        }*/
+    }
+}

+ 3 - 0
Assets/Editor/RouteDrawer.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 48e00bf4fa1a4e67a27024f65c13ed6f
+timeCreated: 1609612095

+ 44 - 0
Assets/Editor/RoutesEditor.cs

@@ -0,0 +1,44 @@
+using UnityEditor;
+using UnityEngine;
+
+
+[CustomEditor(typeof(Routes.Routes))]
+[CanEditMultipleObjects]
+// ReSharper disable once CheckNamespace
+public class RoutesEditor : Editor
+{
+    private bool showListContent;
+    
+    public override void OnInspectorGUI()
+    {
+        serializedObject.Update();
+        RoutesList(serializedObject.FindProperty("routes"));
+        //EditorGUILayout.PropertyField(routes.FindPropertyRelative("arraySize"), true);
+        EditorGUILayout.Space();
+        EditorGUILayout.PropertyField(serializedObject.FindProperty("selectedRoute"), true);
+        serializedObject.ApplyModifiedProperties();
+    }
+
+    private void RoutesList(SerializedProperty list)
+    {
+        showListContent = EditorGUILayout.BeginFoldoutHeaderGroup(showListContent, $"{list.displayName} (Length = {list.arraySize})");
+        if (showListContent)
+        {
+            EditorGUI.indentLevel += 1;
+            EditorGUILayout.PropertyField(list.FindPropertyRelative("Array.size"));
+            for (var i = 0; i < list.arraySize; i++) {
+                EditorGUILayout.BeginHorizontal();
+                RouteDrawer.PropertyField(list.GetArrayElementAtIndex(i));
+                if (GUILayout.Button("-", EditorStyles.miniButton, GUILayout.Width(32)))
+                {
+                    list.DeleteArrayElementAtIndex(i);
+                }
+                //EditorGUILayout.EndHorizontal();
+            }
+            EditorGUI.indentLevel -= 1;
+        }
+        
+        EditorGUILayout.EndFoldoutHeaderGroup();
+        
+    }
+}

+ 3 - 0
Assets/Editor/RoutesEditor.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 1993c5f594d84e8096cdb668593186e1
+timeCreated: 1609617814

+ 1 - 1
Assets/Plotting/venv/include.meta → Assets/Logs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 40f8c1865487c44d7b1f297dd9801cb4
+guid: 416fa2706e19dda41815b9fd27b8fd23
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}

+ 127 - 0
Assets/Materials/3dArrowMaterial.mat

@@ -0,0 +1,127 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 3dArrowMaterial
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+  m_ShaderKeywords: _RECEIVE_SHADOWS_OFF
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3050
+  stringTagMap:
+    RenderType: Transparent
+  disabledShaderPasses:
+  - SHADOWCASTER
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _AlphaClip: 0
+    - _Blend: 0
+    - _BlendOp: 0
+    - _BumpScale: 1
+    - _CameraFadingEnabled: 0
+    - _CameraFarFadeDistance: 2
+    - _CameraNearFadeDistance: 1
+    - _ColorMask: 15
+    - _ColorMode: 0
+    - _Cull: 2
+    - _Cutoff: 0.5
+    - _DistortionBlend: 0.5
+    - _DistortionEnabled: 0
+    - _DistortionStrength: 1
+    - _DistortionStrengthScaled: 0.1
+    - _DstBlend: 10
+    - _EnvironmentReflections: 1
+    - _FlipbookBlending: 0
+    - _FlipbookMode: 0
+    - _GlossMapScale: 0
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Opacity: 1
+    - _QueueOffset: 0
+    - _ReceiveShadows: 0
+    - _SampleGI: 0
+    - _Smoothness: 1
+    - _SmoothnessTextureChannel: 0
+    - _SoftParticlesEnabled: 0
+    - _SoftParticlesFarFadeDistance: 1
+    - _SoftParticlesNearFadeDistance: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 5
+    - _Stencil: 0
+    - _StencilComp: 8
+    - _StencilOp: 0
+    - _StencilReadMask: 255
+    - _StencilWriteMask: 255
+    - _Surface: 1
+    - _UseColorMap: 0
+    - _UseEmissiveMap: 0
+    - _UseMetallicMap: 0
+    - _UseNormalMap: 0
+    - _UseOpacityMap: 0
+    - _UseRoughnessMap: 0
+    - _UseUIAlphaClip: 0
+    - _WorkflowMode: 1
+    - _ZWrite: 0
+    m_Colors:
+    - _BaseColor: {r: 0.2077843, g: 0.95283014, b: 0, a: 0.47058824}
+    - _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
+    - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
+    - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+    - _Specular: {r: 0, g: 0, b: 0, a: 0}
+    - _UvOffset: {r: 0, g: 0, b: 0, a: 0}
+    - _UvTiling: {r: 1, g: 1, b: 0, a: 0}
+--- !u!114 &3659556437148223168
+MonoBehaviour:
+  m_ObjectHideFlags: 11
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  version: 1

+ 8 - 0
Assets/Materials/3dArrowMaterial.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5630177b16d8bdf479f22ed9cd2b7554
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 90 - 0
Assets/Materials/CoinMaterial.mat

@@ -0,0 +1,90 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-7926685525222820900
+MonoBehaviour:
+  m_ObjectHideFlags: 11
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  version: 1
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: CoinMaterial
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+  m_ShaderKeywords: _NORMALMAP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 2050
+  stringTagMap:
+    RenderType: Opaque
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 2800000, guid: 89c695fa956bb894d916ce80c05aaa7e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 2800000, guid: 1ab2a2fb75620854fb7b93b9c6134a3c, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 89c695fa956bb894d916ce80c05aaa7e, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _AlphaClip: 0
+    - _Blend: 0
+    - _BumpScale: 0.84
+    - _Cull: 2
+    - _Cutoff: 0.5
+    - _DstBlend: 0
+    - _EnvironmentReflections: 1
+    - _GlossMapScale: 0
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0.827
+    - _OcclusionStrength: 1
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.679
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _Surface: 0
+    - _WorkflowMode: 1
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 0.8113208, g: 0.7029789, b: 0.03444285, a: 1}
+    - _Color: {r: 1, g: 1, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}

+ 8 - 0
Assets/Materials/CoinMaterial.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d85510eb997b67041b644489184e6f23
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Models/Route.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 607c272d2d3ecec48abcec427c89d0ec
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

File diff suppressed because it is too large
+ 236 - 0
Assets/Models/Route/arrow.fbx


+ 97 - 0
Assets/Models/Route/arrow.fbx.meta

@@ -0,0 +1,97 @@
+fileFormatVersion: 2
+guid: ca94a5946f5a6f94fb0de22c3c736b1e
+ModelImporter:
+  serializedVersion: 19301
+  internalIDToNameTable: []
+  externalObjects: {}
+  materials:
+    materialImportMode: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    importConstraints: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 0
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    useSRGBMaterialColor: 1
+    sortHierarchyByName: 1
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    fileIdsGeneration: 2
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    skinWeightsMode: 0
+    maxBonesPerVertex: 4
+    minBoneWeight: 0.001
+    meshOptimizationFlags: -1
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+    legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+    blendShapeNormalImportMode: 1
+    normalSmoothingSource: 0
+  referencedClips: []
+  importAnimation: 1
+  humanDescription:
+    serializedVersion: 3
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    globalScale: 1
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  autoGenerateAvatarMappingIfUnspecified: 1
+  animationType: 2
+  humanoidOversampling: 1
+  avatarSetup: 0
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/Prefabs/SM_Bld_OfficeOld_Large_Base_Stairs_01.prefab → Assets/Prefabs/Buildings/SM_Bld_OfficeOld_Large_Base_Stairs_01.prefab


+ 0 - 0
Assets/Prefabs/SM_Bld_OfficeOld_Large_Base_Stairs_01.prefab.meta → Assets/Prefabs/Buildings/SM_Bld_OfficeOld_Large_Base_Stairs_01.prefab.meta


+ 319 - 109
Assets/Prefabs/Roads/Road_Crossing_With_Sidewalk.prefab

@@ -1,6 +1,6 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
---- !u!1 &6779282248948444977
+--- !u!1 &1756266547678455572
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -8,62 +8,268 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 6
   m_Component:
-  - component: {fileID: 1682435362963659099}
+  - component: {fileID: 3922547441220718974}
   m_Layer: 0
-  m_Name: Road_Crossing_With_Sidewalk
+  m_Name: Center
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!4 &1682435362963659099
+--- !u!4 &3922547441220718974
 Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 6779282248948444977}
-  m_LocalRotation: {x: -0, y: 0.0000045597553, z: -0, w: -1}
-  m_LocalPosition: {x: 20, y: 0, z: -10}
+  m_GameObject: {fileID: 1756266547678455572}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 2484497890382668824}
-  - {fileID: 2484497890297568638}
-  - {fileID: 2484497890043537792}
   - {fileID: 2484497890162350808}
-  - {fileID: 2484497890026922558}
-  - {fileID: 2484497889895252705}
   - {fileID: 2484497889361947451}
-  - {fileID: 2484497888793902517}
   - {fileID: 2484497888761009767}
-  - {fileID: 2484497888532234213}
+  m_Father: {fileID: 1682435362963659099}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &3043575802961417029
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4744145252221914869}
+  m_Layer: 0
+  m_Name: East
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4744145252221914869
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3043575802961417029}
+  m_LocalRotation: {x: -0, y: -0.0000045597553, z: -0, w: -1}
+  m_LocalPosition: {x: 6.5, y: 0, z: -0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
   - {fileID: 2484497889238978836}
   - {fileID: 2484497888929948208}
+  m_Father: {fileID: 1682435362963659099}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4275951245250364098
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2526126444667350587}
+  m_Layer: 0
+  m_Name: North
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2526126444667350587
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4275951245250364098}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0, y: 0, z: 6.5}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 2484497890297568638}
+  - {fileID: 2484497890026922558}
+  m_Father: {fileID: 1682435362963659099}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &6121350660638867173
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8122351656880345103}
+  m_Layer: 0
+  m_Name: Sidewalk
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &8122351656880345103
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6121350660638867173}
+  m_LocalRotation: {x: -0, y: -0.0000045597553, z: -0, w: -1}
+  m_LocalPosition: {x: 4.448398, y: 0.8479843, z: -1.9981122}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 2484497888793902517}
+  - {fileID: 2484497888532234213}
   - {fileID: 4429757181638395742}
   - {fileID: 4326449693323534347}
+  m_Father: {fileID: 1682435362963659099}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &6207947166538043597
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4825782920790351022}
+  m_Layer: 0
+  m_Name: West
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4825782920790351022
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6207947166538043597}
+  m_LocalRotation: {x: -0, y: -0.0000045597553, z: -0, w: -1}
+  m_LocalPosition: {x: -6.5, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
   - {fileID: 2697530506352868101}
   - {fileID: 8686700345683668071}
+  m_Father: {fileID: 1682435362963659099}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &6779282248948444977
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1682435362963659099}
+  - component: {fileID: 5908241662424435614}
+  m_Layer: 0
+  m_Name: Road_Crossing_With_Sidewalk
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1682435362963659099
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6779282248948444977}
+  m_LocalRotation: {x: -0, y: 0.0000045597553, z: -0, w: -1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 3922547441220718974}
+  - {fileID: 8122351656880345103}
+  - {fileID: 2526126444667350587}
+  - {fileID: 8085698666132697163}
+  - {fileID: 4744145252221914869}
+  - {fileID: 4825782920790351022}
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &5908241662424435614
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6779282248948444977}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7bc613422f424ecbab70286630638b48, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  crossingData:
+    west: {fileID: 4825782920790351022}
+    north: {fileID: 2526126444667350587}
+    east: {fileID: 4744145252221914869}
+    south: {fileID: 8085698666132697163}
+  comingFrom: 4
+  goingTo: 4
+--- !u!1 &7932951198534922238
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8085698666132697163}
+  m_Layer: 0
+  m_Name: South
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &8085698666132697163
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7932951198534922238}
+  m_LocalRotation: {x: -0, y: -0.0000045597553, z: -0, w: -1}
+  m_LocalPosition: {x: -0, y: 0, z: -6.5}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 2484497890043537792}
+  - {fileID: 2484497889895252705}
+  m_Father: {fileID: 1682435362963659099}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1001 &2484497888532309121
 PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 8122351656880345103}
     m_Modifications:
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -10
+      value: 5.551629
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.y
-      value: 0
+      value: -0.8479843
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 0.00009119511
+      value: -3.0018373
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.x
@@ -71,7 +277,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.y
-      value: -0.000004529953
+      value: -0.000000029802322
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.z
@@ -79,11 +285,11 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.w
-      value: -1
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_RootOrder
-      value: 9
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 2360644, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -102,11 +308,11 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 3922547441220718974}
     m_Modifications:
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -14.999908
+      value: 5
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.y
@@ -114,7 +320,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 10.000136
+      value: 5
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalRotation.x
@@ -134,7 +340,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_RootOrder
-      value: 8
+      value: 3
       objectReference: {fileID: 0}
     - target: {fileID: 2304996, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -153,7 +359,7 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 8122351656880345103}
     m_Modifications:
     - target: {fileID: 152188, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_Name
@@ -161,15 +367,15 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -14.999864
+      value: 0.55149245
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.y
-      value: 0
+      value: -0.8479843
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 15.000136
+      value: 11.9981165
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.x
@@ -177,7 +383,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.y
-      value: 0.7071036
+      value: -0.7071068
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.z
@@ -185,11 +391,11 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.w
-      value: -0.7071099
+      value: 0.7071067
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_RootOrder
-      value: 7
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 2360644, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -208,15 +414,15 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 4744145252221914869}
     m_Modifications:
     - target: {fileID: 138646, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Name
-      value: SM_Env_Road_Crossing_02
+      value: East2
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -9.999908
+      value: 3.4999545
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.y
@@ -224,7 +430,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 10.000092
+      value: 5.000032
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.x
@@ -232,7 +438,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.y
-      value: -0.0000045597553
+      value: -0
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.z
@@ -240,11 +446,11 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.w
-      value: -1
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_RootOrder
-      value: 11
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 2370816, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -263,11 +469,15 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 4744145252221914869}
     m_Modifications:
+    - target: {fileID: 138646, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
+      propertyPath: m_Name
+      value: East1
+      objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -9.999954
+      value: 3.5
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.y
@@ -275,7 +485,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 5.000091
+      value: 0.000031918287
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.x
@@ -283,7 +493,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.y
-      value: -0.0000045597553
+      value: -0
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.z
@@ -291,11 +501,11 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.w
-      value: -1
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_RootOrder
-      value: 10
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 2370816, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -314,7 +524,7 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 3922547441220718974}
     m_Modifications:
     - target: {fileID: 165012, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_Name
@@ -322,7 +532,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -25
+      value: -5
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.y
@@ -330,7 +540,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 0.00022798777
+      value: -5
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalRotation.x
@@ -350,7 +560,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_RootOrder
-      value: 6
+      value: 2
       objectReference: {fileID: 0}
     - target: {fileID: 2304996, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -369,15 +579,15 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 8085698666132697163}
     m_Modifications:
     - target: {fileID: 138646, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Name
-      value: SM_Env_Road_Crossing_07
+      value: South2
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -15.000046
+      value: 5.000032
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.y
@@ -385,7 +595,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.z
-      value: -4.999863
+      value: -3.4999545
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.x
@@ -393,7 +603,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.y
-      value: -0.7071092
+      value: 0.707106
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.z
@@ -401,11 +611,11 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.w
-      value: -0.7071044
+      value: 0.7071076
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_RootOrder
-      value: 5
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 2370816, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -424,15 +634,15 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 2526126444667350587}
     m_Modifications:
     - target: {fileID: 138646, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Name
-      value: SM_Env_Road_Crossing_06
+      value: North2
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -19.999886
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.y
@@ -440,7 +650,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 15.00016
+      value: 3.5
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.x
@@ -460,7 +670,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_RootOrder
-      value: 4
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 2370816, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -479,15 +689,15 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 8085698666132697163}
     m_Modifications:
     - target: {fileID: 138646, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Name
-      value: SM_Env_Road_Crossing_08
+      value: South1
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -20.000046
+      value: 0.000031918287
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.y
@@ -495,7 +705,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.z
-      value: -4.999818
+      value: -3.5
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.x
@@ -503,7 +713,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.y
-      value: -0.7071092
+      value: 0.707106
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.z
@@ -511,11 +721,11 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.w
-      value: -0.7071044
+      value: 0.7071076
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_RootOrder
-      value: 2
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 2370816, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -534,7 +744,7 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 3922547441220718974}
     m_Modifications:
     - target: {fileID: 165012, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_Name
@@ -542,7 +752,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -24.999939
+      value: -5
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.y
@@ -550,7 +760,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 10.000222
+      value: 5
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalRotation.x
@@ -570,7 +780,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_RootOrder
-      value: 3
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 2304996, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -589,15 +799,15 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 2526126444667350587}
     m_Modifications:
     - target: {fileID: 138646, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Name
-      value: SM_Env_Road_Crossing_05
+      value: North1
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -19.999908
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.y
@@ -605,7 +815,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 10.000182
+      value: -1.5
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.x
@@ -625,7 +835,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_RootOrder
-      value: 1
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 2370816, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -644,7 +854,7 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 3922547441220718974}
     m_Modifications:
     - target: {fileID: 165012, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_Name
@@ -652,7 +862,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -14.999954
+      value: 5
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.y
@@ -660,7 +870,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 5.000137
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 493038, guid: dab5db0c0226560499e1021898aafb64, type: 3}
       propertyPath: m_LocalRotation.x
@@ -699,15 +909,15 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 4825782920790351022}
     m_Modifications:
     - target: {fileID: 138646, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Name
-      value: SM_Env_Road_Crossing_01 (1)
+      value: West1
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -25
+      value: 1.5
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.y
@@ -715,7 +925,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 5.0002
+      value: 0.000013679266
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.x
@@ -723,7 +933,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.y
-      value: -0.0000045597553
+      value: -0
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.z
@@ -731,11 +941,11 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.w
-      value: -1
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_RootOrder
-      value: 14
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 2370816, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Materials.Array.data[0]
@@ -754,7 +964,7 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 8122351656880345103}
     m_Modifications:
     - target: {fileID: 152188, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_Name
@@ -762,23 +972,23 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -30
+      value: -14.4484625
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.y
-      value: -0.0000000037253
+      value: -0.8479843
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 10
+      value: 6.9979806
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.x
-      value: 0
+      value: -0
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.y
-      value: 1
+      value: -1
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.z
@@ -786,11 +996,11 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.w
-      value: 0
+      value: -0.0000045597553
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_RootOrder
-      value: 13
+      value: 3
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalEulerAnglesHint.y
@@ -813,7 +1023,7 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 8122351656880345103}
     m_Modifications:
     - target: {fileID: 152188, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_Name
@@ -821,23 +1031,23 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -25
+      value: -9.448325
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.y
-      value: 0.0000000074506
+      value: -0.8479843
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalPosition.z
-      value: -4.9998
+      value: -8.001974
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.x
-      value: 0
+      value: -0
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.y
-      value: 0.7071068
+      value: -0.7071036
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.z
@@ -845,11 +1055,11 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalRotation.w
-      value: 0.7071068
+      value: -0.70711005
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_RootOrder
-      value: 12
+      value: 2
       objectReference: {fileID: 0}
     - target: {fileID: 449380, guid: d61bd59519ec86446a34df8af9f85be5, type: 3}
       propertyPath: m_LocalEulerAnglesHint.y
@@ -872,15 +1082,15 @@ PrefabInstance:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
-    m_TransformParent: {fileID: 1682435362963659099}
+    m_TransformParent: {fileID: 4825782920790351022}
     m_Modifications:
     - target: {fileID: 138646, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Name
-      value: SM_Env_Road_Crossing_02 (1)
+      value: West2
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.x
-      value: -25
+      value: 1.4999545
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.y
@@ -888,7 +1098,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalPosition.z
-      value: 10
+      value: 5.000014
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.x
@@ -896,7 +1106,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.y
-      value: -0.0000045597553
+      value: -0
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.z
@@ -904,11 +1114,11 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_LocalRotation.w
-      value: -1
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 476138, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_RootOrder
-      value: 15
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 2370816, guid: c838be5f7abd9c64db9643ebadf0c932, type: 3}
       propertyPath: m_Materials.Array.data[0]

+ 16 - 1
Assets/Prefabs/Roads/Road_Straight_With_Sidewalk.prefab

@@ -9,8 +9,9 @@ GameObject:
   serializedVersion: 6
   m_Component:
   - component: {fileID: 1121772855208284805}
+  - component: {fileID: 6005517995662966679}
   m_Layer: 0
-  m_Name: Street_Straight_With_Sidewalk
+  m_Name: Road_Straight_With_Sidewalk
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -34,6 +35,20 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &6005517995662966679
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5454143873828192637}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 84b90430bf93c0444947fd007b73c3b5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  CoinPool: {fileID: 0}
+  hasCoin: 0
 --- !u!1001 &1009265090087214522
 PrefabInstance:
   m_ObjectHideFlags: 0

+ 8 - 0
Assets/Prefabs/Routes.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b4a4dbb0a922a4943bdb449a1201ed49
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Prefabs/Routes/.mayaSwatches/coin.ma.swatches


+ 487 - 0
Assets/Prefabs/Routes/Arrows.prefab

@@ -0,0 +1,487 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &2672342398953703975
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3479161539965155702}
+  m_Layer: 0
+  m_Name: Arrows
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3479161539965155702
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2672342398953703975}
+  m_LocalRotation: {x: -0, y: -0.0000045597553, z: -0, w: -1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 1517845040228511723}
+  - {fileID: 257921862462906482}
+  - {fileID: 6485674246474010220}
+  - {fileID: 1360823903855987767}
+  - {fileID: 1994088722656195905}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &4405970163781047617
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 3479161539965155702}
+    m_Modifications:
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.x
+      value: -0.85999864
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.z
+      value: -0.15000784
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_RootOrder
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 90
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.x
+      value: 3.0791857
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.y
+      value: 3.079185
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.z
+      value: 3.0791857
+      objectReference: {fileID: 0}
+    - target: {fileID: 7813543545463652759, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_Name
+      value: arrow (2)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: bd3c26ea4141d4241ad82cdd6089d0d6, type: 3}
+--- !u!4 &6485674246474010220 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+    type: 3}
+  m_PrefabInstance: {fileID: 4405970163781047617}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1001 &7255521415870331743
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 3479161539965155702}
+    m_Modifications:
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 1.6400013
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.z
+      value: -0.15
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_RootOrder
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 90
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.x
+      value: 3.0791857
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.y
+      value: 3.079185
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.z
+      value: 3.0791857
+      objectReference: {fileID: 0}
+    - target: {fileID: 7813543545463652759, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_Name
+      value: arrow (1)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: bd3c26ea4141d4241ad82cdd6089d0d6, type: 3}
+--- !u!4 &257921862462906482 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+    type: 3}
+  m_PrefabInstance: {fileID: 7255521415870331743}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8229449662599312582
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 3479161539965155702}
+    m_Modifications:
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 4.1400013
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.z
+      value: -0.15
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 90
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.x
+      value: 3.0791857
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.y
+      value: 3.079185
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.z
+      value: 3.0791857
+      objectReference: {fileID: 0}
+    - target: {fileID: 7813543545463652759, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_Name
+      value: arrow
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: bd3c26ea4141d4241ad82cdd6089d0d6, type: 3}
+--- !u!4 &1517845040228511723 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+    type: 3}
+  m_PrefabInstance: {fileID: 8229449662599312582}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8486478214844798746
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 3479161539965155702}
+    m_Modifications:
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.x
+      value: -3.3599985
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.z
+      value: -0.15
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_RootOrder
+      value: 3
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 90
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.x
+      value: 3.0791857
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.y
+      value: 3.079185
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.z
+      value: 3.0791857
+      objectReference: {fileID: 0}
+    - target: {fileID: 7813543545463652759, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_Name
+      value: arrow (3)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: bd3c26ea4141d4241ad82cdd6089d0d6, type: 3}
+--- !u!4 &1360823903855987767 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+    type: 3}
+  m_PrefabInstance: {fileID: 8486478214844798746}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1001 &8973692706229382764
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 3479161539965155702}
+    m_Modifications:
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.x
+      value: -5.8599987
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalPosition.z
+      value: -0.15
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.x
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.z
+      value: -0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_RootOrder
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 90
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.x
+      value: 3.0791857
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.y
+      value: 3.079185
+      objectReference: {fileID: 0}
+    - target: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_LocalScale.z
+      value: 3.0791857
+      objectReference: {fileID: 0}
+    - target: {fileID: 7813543545463652759, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+        type: 3}
+      propertyPath: m_Name
+      value: arrow (4)
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: bd3c26ea4141d4241ad82cdd6089d0d6, type: 3}
+--- !u!4 &1994088722656195905 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 7432233340475284269, guid: bd3c26ea4141d4241ad82cdd6089d0d6,
+    type: 3}
+  m_PrefabInstance: {fileID: 8973692706229382764}
+  m_PrefabAsset: {fileID: 0}

+ 7 - 0
Assets/Prefabs/Routes/Arrows.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 5d627b1cc1e30984c998cefd661a5cb1
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 76 - 0
Assets/Prefabs/Routes/arrow.prefab

@@ -0,0 +1,76 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &6966542666350034118
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: -8679921383154817045, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 6.626386
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0.00000012665987
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_LocalPosition.z
+      value: -2.1732378
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_LocalRotation.y
+      value: -0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 0.7071068
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -7511558181221131132, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_Materials.Array.data[0]
+      value: 
+      objectReference: {fileID: 2100000, guid: 5630177b16d8bdf479f22ed9cd2b7554, type: 2}
+    - target: {fileID: 919132149155446097, guid: ca94a5946f5a6f94fb0de22c3c736b1e,
+        type: 3}
+      propertyPath: m_Name
+      value: arrow
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: ca94a5946f5a6f94fb0de22c3c736b1e, type: 3}

+ 7 - 0
Assets/Prefabs/Routes/arrow.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: bd3c26ea4141d4241ad82cdd6089d0d6
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Prefabs/Routes/coin.fbx


+ 97 - 0
Assets/Prefabs/Routes/coin.fbx.meta

@@ -0,0 +1,97 @@
+fileFormatVersion: 2
+guid: 8ce71a0c994c82e429ac2a8f23e908d2
+ModelImporter:
+  serializedVersion: 19301
+  internalIDToNameTable: []
+  externalObjects: {}
+  materials:
+    materialImportMode: 1
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    importConstraints: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 0
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    useSRGBMaterialColor: 1
+    sortHierarchyByName: 1
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    fileIdsGeneration: 2
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    skinWeightsMode: 0
+    maxBonesPerVertex: 4
+    minBoneWeight: 0.001
+    meshOptimizationFlags: -1
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+    legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+    blendShapeNormalImportMode: 1
+    normalSmoothingSource: 0
+  referencedClips: []
+  importAnimation: 1
+  humanDescription:
+    serializedVersion: 3
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    globalScale: 1
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  autoGenerateAvatarMappingIfUnspecified: 1
+  animationType: 2
+  humanoidOversampling: 1
+  avatarSetup: 0
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 71 - 0
Assets/Prefabs/coin.prefab

@@ -0,0 +1,71 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &763359650510820658
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: -8679921383154817045, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 30
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_RootOrder
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: -8679921383154817045, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 919132149155446097, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d,
+        type: 3}
+      propertyPath: m_Name
+      value: coin
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 6eaef9e4d2822ef4e8f2ecc34b5b6e4d, type: 3}

+ 7 - 0
Assets/Prefabs/coin.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 68aefba2f0066ec46bb7b95f169e16bd
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

File diff suppressed because it is too large
+ 176 - 125
Assets/Scenes/MainScene.unity


+ 3 - 0
Assets/Scripts/Pools.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 6d0eceb0706147afb67ca2c2ef174b87
+timeCreated: 1609593296

+ 64 - 0
Assets/Scripts/Pools/Pool.cs

@@ -0,0 +1,64 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+using Object = UnityEngine.Object;
+
+namespace Pools
+{
+    public class Pool : MonoBehaviour
+    {
+        public int initialSize = 10;
+        public int amountIncrease = 5;
+        public GameObject prefab;
+
+        private Queue<GameObject> inactive;
+        private HashSet<GameObject> active;
+
+
+        private void Awake()
+        {
+            active = new HashSet<GameObject>();
+            inactive = new Queue<GameObject>();
+            IncreasePool(initialSize);
+        }
+
+        private void IncreasePool(int amount)
+        {
+            for (var i = 0; i < amount; i++)
+            {
+                var item = Instantiate(prefab, transform);
+                item.SetActive(false);
+                inactive.Enqueue(item);
+            }
+        }
+
+
+        public GameObject GetItem()
+        {
+            GameObject item;
+            if (inactive.Count > 0)
+            {
+                item = inactive.Dequeue();
+            }
+            else
+            {
+                IncreasePool(amountIncrease);
+                item = inactive.Dequeue();
+            }
+
+            item.SetActive(true);
+            active.Add(item);
+            return item;
+        }
+
+        public void ReturnToPool(GameObject item)
+        {
+            if (active.Remove(item))
+            {
+                item.SetActive(false);
+                inactive.Enqueue(item);
+            }
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/Pools/Pool.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 4f20da04e8e444dba3ff3f0aa77037e2
+timeCreated: 1609593305

+ 3 - 0
Assets/Scripts/Roads.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 0cc56218dafc473ea53a1a1daac37264
+timeCreated: 1609593431

+ 199 - 0
Assets/Scripts/Roads/CrossingExtras.cs

@@ -0,0 +1,199 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Cryptography;
+using JetBrains.Annotations;
+using Pools;
+using Routes;
+using UnityEngine;
+
+namespace Roads
+{
+    [Serializable]
+    public struct CrossingData
+    {
+        public Transform west;
+        public Transform north;
+        public Transform east;
+        public Transform south;
+    }
+
+    public enum RoadDirection
+    {
+        West,
+        North,
+        East,
+        South,
+        None
+    }
+
+    public enum TurnDirection
+    {
+        Right,
+        Left,
+        Straight
+    }
+
+    static class TurnDirectionMapper
+    {
+        private static readonly Dictionary<RoadDirection, TurnDirection> fromSouth =
+            new Dictionary<RoadDirection, TurnDirection>
+            {
+                {RoadDirection.East, TurnDirection.Right},
+                {RoadDirection.West, TurnDirection.Left}
+            };
+
+        private static readonly Dictionary<RoadDirection, TurnDirection> fromNorth =
+            new Dictionary<RoadDirection, TurnDirection>
+            {
+                {RoadDirection.East, TurnDirection.Left},
+                {RoadDirection.West, TurnDirection.Right}
+            };
+
+        private static readonly Dictionary<RoadDirection, TurnDirection> fromWest =
+            new Dictionary<RoadDirection, TurnDirection>
+            {
+                {RoadDirection.North, TurnDirection.Left},
+                {RoadDirection.South, TurnDirection.Right}
+            };
+
+        private static readonly Dictionary<RoadDirection, TurnDirection> fromEast =
+            new Dictionary<RoadDirection, TurnDirection>
+            {
+                {RoadDirection.North, TurnDirection.Right},
+                {RoadDirection.South, TurnDirection.Left}
+            };
+
+        public static TurnDirection GetTurnDirection(RoadDirection from, RoadDirection to)
+        {
+            TurnDirection direction;
+            switch (from)
+            {
+                case RoadDirection.West:
+                    return fromWest.TryGetValue(to, out direction) ? direction : TurnDirection.Straight;
+                case RoadDirection.North:
+                    return fromNorth.TryGetValue(to, out direction) ? direction : TurnDirection.Straight;
+                case RoadDirection.East:
+                    return fromEast.TryGetValue(to, out direction) ? direction : TurnDirection.Straight;
+                case RoadDirection.South:
+                    return fromSouth.TryGetValue(to, out direction) ? direction : TurnDirection.Straight;
+                default:
+                    return TurnDirection.Straight;
+            }
+        }
+    }
+
+    public class CrossingExtras : Turn
+    {
+        public CrossingData crossingData;
+        [CanBeNull] private Pool arrowPool;
+
+        private bool arrowPoolAvailable;
+        private TurnDirection turnDirection;
+
+        private void Awake()
+        {
+            arrowPool = FindObjectsOfType<Pool>().FirstOrDefault(o => o.CompareTag("ArrowPool"));
+            arrowPoolAvailable = arrowPool != null;
+            if (!arrowPoolAvailable) Debug.LogWarning("Arrow Pool not found");
+        }
+
+        private void Start()
+        {
+            if (comingFrom == RoadDirection.None || goingTo == RoadDirection.None) return;
+            turnDirection = TurnDirectionMapper.GetTurnDirection(comingFrom, goingTo);
+
+            var items = new[] {RoadDirection.West, RoadDirection.North, RoadDirection.East, RoadDirection.South};
+            foreach (var position in items.Where(i => i != comingFrom && i != goingTo))
+            {
+                AddArrows(position);
+            }
+        }
+
+        private void AddArrows(RoadDirection position)
+        {
+            if (!arrowPoolAvailable) return;
+            Transform t;
+            switch (position)
+            {
+                case RoadDirection.North:
+                    t = crossingData.north;
+                    break;
+                case RoadDirection.West:
+                    t = crossingData.west;
+                    break;
+                case RoadDirection.East:
+                    t = crossingData.east;
+                    break;
+                case RoadDirection.South:
+                    t = crossingData.south;
+                    break;
+                case RoadDirection.None:
+                    throw new ArgumentException("RoadDirection.None not allowed for adding arrows");
+                default:
+                    throw new ArgumentOutOfRangeException(nameof(position), position, "Wrong Argument for AddArrows");
+            }
+
+            System.Diagnostics.Debug.Assert(arrowPool != null, nameof(arrowPool) + " != null");
+            var arrows = arrowPool.GetItem();
+            SetRotation(arrows, position);
+            arrows.transform.position = t.position;
+        }
+
+        private void SetRotation(GameObject arrows, RoadDirection position)
+        {
+            //by default, the arrow shows to north
+            switch (position)
+            {
+                case RoadDirection.West:
+                {
+                    if (turnDirection == TurnDirection.Left ||
+                        turnDirection == TurnDirection.Straight && goingTo == RoadDirection.South)
+                    {
+                        arrows.transform.Rotate(Vector3.up, 90);
+                    }
+                    else if (turnDirection == TurnDirection.Right ||
+                             turnDirection == TurnDirection.Straight && goingTo == RoadDirection.North)
+                    {
+                        arrows.transform.Rotate(Vector3.up, 90);
+                    }
+
+                    break;
+                }
+                case RoadDirection.North:
+                    if (turnDirection == TurnDirection.Left ||
+                        turnDirection == TurnDirection.Straight && goingTo == RoadDirection.East)
+                    {
+                        arrows.transform.Rotate(Vector3.up, 180);
+                    }
+
+                    break;
+                case RoadDirection.East:
+                    if (turnDirection == TurnDirection.Right ||
+                        turnDirection == TurnDirection.Straight && goingTo == RoadDirection.South)
+                    {
+                        arrows.transform.Rotate(Vector3.up, 90);
+                    }
+                    else if (turnDirection == TurnDirection.Left ||
+                             turnDirection == TurnDirection.Straight && goingTo == RoadDirection.North)
+                    {
+                        arrows.transform.Rotate(Vector3.up, -90);
+                    }
+
+                    break;
+                case RoadDirection.South:
+                    if (turnDirection == TurnDirection.Right ||
+                        turnDirection == TurnDirection.Straight && goingTo == RoadDirection.West)
+                    {
+                        arrows.transform.Rotate(Vector3.up, 180);
+                    }
+
+                    break;
+                case RoadDirection.None:
+                    throw new ArgumentException("RoadDirection.None not allowed for adding arrows");
+                default:
+                    throw new ArgumentOutOfRangeException(nameof(position), position, null);
+            }
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/Roads/CrossingExtras.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 7bc613422f424ecbab70286630638b48
+timeCreated: 1609593463

+ 12 - 0
Assets/Scripts/Roads/StraightRoadExtras.cs

@@ -0,0 +1,12 @@
+using Pools;
+using UnityEngine;
+
+namespace Roads
+{
+   public class StraightRoadExtras : MonoBehaviour
+   {
+      public Pool coinPool;
+      public bool hasCoin = false;
+      //TODO: maybe hasCheckpoint or hasBarrier ?
+   }
+}

+ 11 - 0
Assets/Scripts/Roads/StraightRoadExtras.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 84b90430bf93c0444947fd007b73c3b5
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 46 - 0
Assets/Scripts/Routes/Route.cs

@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using Roads;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.Rendering;
+
+namespace Routes
+{
+    [Serializable]
+    public struct RouteItem
+    {
+        [SerializeReference]
+        public Turn turn;
+        public RoadDirection from;
+        public RoadDirection to;
+
+        public void Apply()
+        {
+            turn.comingFrom = from;
+            turn.goingTo = to;
+        }
+
+        public void Clear()
+        {
+            turn.comingFrom = RoadDirection.None;
+            turn.goingTo = RoadDirection.None;
+        }
+    }
+    
+    [Serializable]
+    public class Route
+    {
+        public List<RouteItem> items;
+
+        public void Clear()
+        {
+            items.ForEach(i => i.Clear());
+        }
+
+        public void Show()
+        {
+            items.ForEach(i => i.Apply());
+        }
+    }
+}

+ 0 - 0
Assets/Scripts/Routes/RouteTrajectory.cs.meta → Assets/Scripts/Routes/Route.cs.meta


+ 0 - 10
Assets/Scripts/Routes/RouteRenderer.cs

@@ -1,10 +0,0 @@
-using UnityEngine;
-
-namespace Routes
-{
-    public class RouteRenderer : MonoBehaviour
-    {
-
-        public RouteTrajectory route;
-    }
-}

+ 0 - 3
Assets/Scripts/Routes/RouteRenderer.cs.meta

@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: b1bc4354843c43f19f183117b45e0b9b
-timeCreated: 1609341961

+ 0 - 11
Assets/Scripts/Routes/RouteTrajectory.cs

@@ -1,11 +0,0 @@
-using System.Collections.Generic;
-using UnityEngine;
-
-namespace Routes
-{
-    [CreateAssetMenu(fileName = "Route", menuName = "ScriptableObjects/RouteTrajectory", order = 0)]
-    public class RouteTrajectory : ScriptableObject
-    {
-        public List<Vector3> points;
-    }
-}

+ 17 - 0
Assets/Scripts/Routes/Routes.cs

@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Routes
+{
+    public class Routes : MonoBehaviour
+    {
+        public Route[] routes;
+        public int selectedRoute = -1;
+
+        private void Start()
+        {
+            throw new NotImplementedException();
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/Routes/Routes.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: c94f7db623b74907b04373ef43f61f45
+timeCreated: 1609611028

+ 12 - 0
Assets/Scripts/Routes/Turn.cs

@@ -0,0 +1,12 @@
+using System;
+using Roads;
+using UnityEngine;
+
+namespace Routes
+{
+    public class Turn : MonoBehaviour
+    {
+        public RoadDirection comingFrom;
+        public RoadDirection goingTo;
+    }
+}

+ 3 - 0
Assets/Scripts/Routes/Turn.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 686a2f56b4f04ceca40d2aa2817b769c
+timeCreated: 1609611171

+ 8 - 0
Assets/Textures/Routes.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1324391a86ff74142b1de33df316308a
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Textures/Routes/coin_normal.jpg


+ 140 - 0
Assets/Textures/Routes/coin_normal.jpg.meta

@@ -0,0 +1,140 @@
+fileFormatVersion: 2
+guid: 1ab2a2fb75620854fb7b93b9c6134a3c
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: 2
+    mipBias: -100
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 1
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Windows Store Apps
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Textures/Routes/coin_specular.jpg


+ 152 - 0
Assets/Textures/Routes/coin_specular.jpg.meta

@@ -0,0 +1,152 @@
+fileFormatVersion: 2
+guid: 54ee2749d39a14644ad28a99b4e75231
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: 2
+    mipBias: -100
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 0
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Windows Store Apps
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WebGL
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Textures/Routes/coin_texture.jpg


+ 140 - 0
Assets/Textures/Routes/coin_texture.jpg.meta

@@ -0,0 +1,140 @@
+fileFormatVersion: 2
+guid: 89c695fa956bb894d916ce80c05aaa7e
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: 2
+    mipBias: -100
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Windows Store Apps
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/Textures/route_arrow.png → Assets/Textures/Routes/route_arrow.png


+ 0 - 0
Assets/Textures/route_arrow.png.meta → Assets/Textures/Routes/route_arrow.png.meta


+ 3 - 0
ProjectSettings/FbxExportSettings.asset

@@ -13,10 +13,13 @@
         "integrationSavePath": "C:/Unity Projects/VR Cycling",
         "selectedDCCApp": 0,
         "prefabSavePaths": [
+            "Prefabs/Routes",
             "Prefabs",
             "."
         ],
         "fbxSavePaths": [
+            "Models/Route",
+            "Prefabs/Routes",
             "Models",
             "Prefabs",
             "."

+ 2 - 2
ProjectSettings/ProjectVersion.txt

@@ -1,2 +1,2 @@
-m_EditorVersion: 2019.4.11f1
-m_EditorVersionWithRevision: 2019.4.11f1 (2d9804dddde7)
+m_EditorVersion: 2019.4.15f1
+m_EditorVersionWithRevision: 2019.4.15f1 (fbf367ac14e9)

+ 1 - 0
ProjectSettings/TagManager.asset

@@ -6,6 +6,7 @@ TagManager:
   tags:
   - projectile
   - FxTemporaire
+  - ArrowPool
   layers:
   - Default
   - TransparentFX

File diff suppressed because it is too large
+ 1 - 1
SteamVR.csproj


File diff suppressed because it is too large
+ 1 - 1
SteamVR_Editor.csproj


File diff suppressed because it is too large
+ 1 - 1
SteamVR_Input_Editor.csproj


File diff suppressed because it is too large
+ 1 - 1
SteamVR_Windows_EditorHelper.csproj


BIN
obj/Debug/Assembly-CSharp-Editor.csprojAssemblyReference.cache


BIN
obj/Debug/Assembly-CSharp.csprojAssemblyReference.cache


BIN
obj/Debug/SteamVR_Windows_EditorHelper.csprojAssemblyReference.cache


Some files were not shown because too many files changed in this diff