From 8085d355ab96390e2d0c40bb395ba344468a2597 Mon Sep 17 00:00:00 2001 From: alexiscatnip Date: Mon, 16 Aug 2021 00:12:25 +0800 Subject: [PATCH] working on making the map viewer that can support pan and zoom --- Assets/Raindrop/RaindropUnity.asmdef | 3 +- .../Raindrop/ServiceLocator/UIBootstrapper.cs | 8 + Assets/Raindrop/UI/map/MapLogic.cs | 282 -- Assets/Raindrop/UI/map/MapMover.cs | 29 - Assets/Raindrop/UI/map/MapPoolPresenter.cs | 168 +- Assets/Raindrop/UI/map/MapPresenter.cs | 177 +- Assets/Raindrop/UI/map/MapTile.prefab | 128 + Assets/Raindrop/UI/map/MapTile.prefab.meta | 7 + Assets/Raindrop/UI/map/MapTileView.cs | 26 - Assets/Raindrop/UI/map/logic.meta | 8 + Assets/Raindrop/UI/map/model.meta | 8 + Assets/Raindrop/UI/map/model/MapBackend.cs | 167 + .../MapBackend.cs.meta} | 2 +- Assets/Raindrop/UI/map/{ => model}/MapTile.cs | 2 +- .../UI/map/{ => model}/MapTile.cs.meta | 0 .../MapTilesManager.cs} | 10 +- .../MapTilesManager.cs.meta} | 0 .../{MapDataPool.cs => model/MapTilesPool.cs} | 6 +- .../MapTilesPool.cs.meta} | 2 +- Assets/Raindrop/UI/map/network.meta | 8 + .../map/{ => network}/ParallelDownloader.cs | 0 .../{ => network}/ParallelDownloader.cs.meta | 0 Assets/Raindrop/UI/map/presenter.meta | 8 + Assets/Raindrop/UI/map/view.meta | 8 + .../CameraView.cs} | 97 +- .../CameraView.cs.meta} | 0 Assets/Raindrop/UI/map/view/MapLookAt.cs | 85 + .../MapLookAt.cs.meta} | 2 +- Assets/Raindrop/UI/map/view/MapSceneView.cs | 180 + .../view/MapSceneView.cs.meta} | 2 +- Assets/Raindrop/UI/map/view/MapTileView.cs | 62 + .../UI/map/{ => view}/MapTileView.cs.meta | 0 Assets/Raindrop/UI/map/view/MapViewer.cs | 71 + Assets/Raindrop/UI/map/view/MapViewer.cs.meta | 11 + Assets/Raindrop/UI/screens/MapPresenter.cs | 94 - ...er.cs => MapViewer_SingleStatic_NoZoom.cs} | 20 +- ... => MapViewer_SingleStatic_NoZoom.cs.meta} | 0 .../Raindrop/UI/testing/TestTextureFetcher.cs | 5 +- Assets/Raindrop/UI/touch.meta | 8 + .../UI/touch/PanAndZoomInterpreterModule.cs | 117 + .../touch/PanAndZoomInterpreterModule.cs.meta | 11 + .../touch/TouchScreenInteractionInstance.cs | 189 ++ .../TouchScreenInteractionInstance.cs.meta | 11 + .../Scenes/MapViewerTest_Daboom_Basic.unity | 2991 +++++++++++++++++ ... => MapViewerTest_Daboom_Basic.unity.meta} | 0 ...ty => MapViewerTest_Daboom_zoomable.unity} | 914 ++--- .../MapViewerTest_Daboom_zoomable.unity.meta | 7 + Assets/minimapCamera.cs | 17 + Assets/minimapCamera.cs.meta | 11 + Packages/manifest.json | 1 + Packages/packages-lock.json | 7 + ProjectSettings/EditorBuildSettings.asset | 2 +- ProjectSettings/ProjectSettings.asset | 2 +- 53 files changed, 4662 insertions(+), 1312 deletions(-) delete mode 100644 Assets/Raindrop/UI/map/MapLogic.cs delete mode 100644 Assets/Raindrop/UI/map/MapMover.cs create mode 100644 Assets/Raindrop/UI/map/MapTile.prefab create mode 100644 Assets/Raindrop/UI/map/MapTile.prefab.meta delete mode 100644 Assets/Raindrop/UI/map/MapTileView.cs create mode 100644 Assets/Raindrop/UI/map/logic.meta create mode 100644 Assets/Raindrop/UI/map/model.meta create mode 100644 Assets/Raindrop/UI/map/model/MapBackend.cs rename Assets/Raindrop/UI/map/{MapLogic.cs.meta => model/MapBackend.cs.meta} (83%) rename Assets/Raindrop/UI/map/{ => model}/MapTile.cs (98%) rename Assets/Raindrop/UI/map/{ => model}/MapTile.cs.meta (100%) rename Assets/Raindrop/UI/map/{MapDataManager.cs => model/MapTilesManager.cs} (92%) rename Assets/Raindrop/UI/map/{MapDataManager.cs.meta => model/MapTilesManager.cs.meta} (100%) rename Assets/Raindrop/UI/map/{MapDataPool.cs => model/MapTilesPool.cs} (90%) rename Assets/Raindrop/UI/map/{MapMover.cs.meta => model/MapTilesPool.cs.meta} (83%) create mode 100644 Assets/Raindrop/UI/map/network.meta rename Assets/Raindrop/UI/map/{ => network}/ParallelDownloader.cs (100%) rename Assets/Raindrop/UI/map/{ => network}/ParallelDownloader.cs.meta (100%) create mode 100644 Assets/Raindrop/UI/map/presenter.meta create mode 100644 Assets/Raindrop/UI/map/view.meta rename Assets/Raindrop/UI/map/{StationaryDownwardOrthoCameraPresenter.cs => view/CameraView.cs} (57%) rename Assets/Raindrop/UI/map/{StationaryDownwardOrthoCameraPresenter.cs.meta => view/CameraView.cs.meta} (100%) create mode 100644 Assets/Raindrop/UI/map/view/MapLookAt.cs rename Assets/Raindrop/UI/map/{MapDataPool.cs.meta => view/MapLookAt.cs.meta} (83%) create mode 100644 Assets/Raindrop/UI/map/view/MapSceneView.cs rename Assets/Raindrop/UI/{screens/MapPresenter.cs.meta => map/view/MapSceneView.cs.meta} (83%) create mode 100644 Assets/Raindrop/UI/map/view/MapTileView.cs rename Assets/Raindrop/UI/map/{ => view}/MapTileView.cs.meta (100%) create mode 100644 Assets/Raindrop/UI/map/view/MapViewer.cs create mode 100644 Assets/Raindrop/UI/map/view/MapViewer.cs.meta delete mode 100644 Assets/Raindrop/UI/screens/MapPresenter.cs rename Assets/Raindrop/UI/testing/{MapViewer.cs => MapViewer_SingleStatic_NoZoom.cs} (82%) rename Assets/Raindrop/UI/testing/{MapViewer.cs.meta => MapViewer_SingleStatic_NoZoom.cs.meta} (100%) create mode 100644 Assets/Raindrop/UI/touch.meta create mode 100644 Assets/Raindrop/UI/touch/PanAndZoomInterpreterModule.cs create mode 100644 Assets/Raindrop/UI/touch/PanAndZoomInterpreterModule.cs.meta create mode 100644 Assets/Raindrop/UI/touch/TouchScreenInteractionInstance.cs create mode 100644 Assets/Raindrop/UI/touch/TouchScreenInteractionInstance.cs.meta create mode 100644 Assets/Scenes/MapViewerTest_Daboom_Basic.unity rename Assets/Scenes/{MapViewerTest.unity.meta => MapViewerTest_Daboom_Basic.unity.meta} (100%) rename Assets/Scenes/{MapViewerTest.unity => MapViewerTest_Daboom_zoomable.unity} (84%) create mode 100644 Assets/Scenes/MapViewerTest_Daboom_zoomable.unity.meta create mode 100644 Assets/minimapCamera.cs create mode 100644 Assets/minimapCamera.cs.meta diff --git a/Assets/Raindrop/RaindropUnity.asmdef b/Assets/Raindrop/RaindropUnity.asmdef index d884be7..000eae4 100644 --- a/Assets/Raindrop/RaindropUnity.asmdef +++ b/Assets/Raindrop/RaindropUnity.asmdef @@ -12,7 +12,8 @@ "GUID:247a163e3cc6efb42bd22b9023b87ff3", "GUID:0c752da273b17c547ae705acf0f2adf2", "GUID:0d8beb7f090555447a6cf5ce9e54dbb4", - "GUID:11f3455556175aa41b2b4d4f2ec8b146" + "GUID:11f3455556175aa41b2b4d4f2ec8b146", + "GUID:75469ad4d38634e559750d17036d5f7c" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Raindrop/ServiceLocator/UIBootstrapper.cs b/Assets/Raindrop/ServiceLocator/UIBootstrapper.cs index 9478f53..8f0385f 100644 --- a/Assets/Raindrop/ServiceLocator/UIBootstrapper.cs +++ b/Assets/Raindrop/ServiceLocator/UIBootstrapper.cs @@ -7,6 +7,7 @@ using System.Threading; using System.Threading.Tasks; using UnityEngine; using ServiceLocator; +using Raindrop.Map.Model; namespace Raindrop { @@ -37,6 +38,13 @@ namespace Raindrop //return; } + if (! ServiceLocator.ServiceLocator.Instance.IsRegistered()) + { + Debug.LogWarning("UIBootstrapper creating and registering MapBackend.MapFetcher!"); + ServiceLocator.ServiceLocator.Instance.Register(new MapBackend()); + //return; + } + var cm = GetComponentInChildren(); var mm = GetComponentInChildren(); diff --git a/Assets/Raindrop/UI/map/MapLogic.cs b/Assets/Raindrop/UI/map/MapLogic.cs deleted file mode 100644 index c015fca..0000000 --- a/Assets/Raindrop/UI/map/MapLogic.cs +++ /dev/null @@ -1,282 +0,0 @@ -using OpenMetaverse; -using Raindrop.Network; -using Raindrop.UI; -using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using UniRx; -using UnityEngine; - -namespace Raindrop.Map -{ - /// - /// Contains logic to fetch and decode the map textures. - /// - - public class MapLogic - { - #region range logic - - // ---------@ max - // | | - // | | - // | | - // | | - //min @--------- - - // range - bottom left corner - internal static OpenMetaverse.Vector2 getMinVec2(OpenMetaverse.Vector2 range, OpenMetaverse.Vector2 focalPoint) - { - return focalPoint - new OpenMetaverse.Vector2(range.X / 2 , range.Y / 2); - } - - // range - top right corner - - internal static OpenMetaverse.Vector2 getMaxVec2(OpenMetaverse.Vector2 range, OpenMetaverse.Vector2 focalPoint) - { - return focalPoint + new OpenMetaverse.Vector2(range.X / 2 , range.Y / 2); - } - - #endregion - - //backend image fetch logic - - - // map fetching class. - // contains a dict for tracking the tile maps. - // contains the reusable pool to discard and recycle tile maps. - public class MapFetcher - { - MapDataManager mapDataMgr; - List tileRequests = new List(); // a list of pending fetch requests. the ulongs are the x and y world coordinates (gridX * 256), packed. - uint regionSize = 256; - private ParallelDownloader downloader; - int poolSize = 10; - - UnityMainThreadDispatcher mainThreadInstance; - - public MapFetcher() - { - mapDataMgr = new MapDataManager(10); - - downloader = new ParallelDownloader(); - - mainThreadInstance = UnityMainThreadDispatcher.Instance(); - } - - /// - /// API to Get the map tile at specific region handle and zoom level. Only zoom level 1 is supported. - /// - /// - /// - /// - public MapTile GetMapTile(ulong handle, int zoom) - { - MapTile res = null; - - //try - //{ - res = mapDataMgr.tryGetTile(handle); - //} - //catch (Exception) - //{ - uint x, y; - Utils.LongToUInts(handle, out x, out y); - Debug.LogError("no tile found at " + x + " " + y); - //} - return res; - } - - - //get region tile using SL map API -- JPEG images. - // obtains the image from URL, decodes it in main thread, the stores data in the appropriate maptile. - public MapTile GetRegionTileExternal(ulong handle, int zoom) - { - if ( (zoom > 4) || (zoom < 1) ) - { - return null; - } - - - if (GetMapTile(handle, 1) != null) - { - return GetMapTile(handle, 1); - } - else - { - lock (tileRequests) - { - if (tileRequests.Contains(handle)) return null; - tileRequests.Add(handle); - } - - uint regX, regY; - Utils.LongToUInts(handle, out regX, out regY); - regX /= regionSize; - regY /= regionSize; - //int zoom = 1; - - downloader.QueueDownlad( - new Uri(string.Format("http://map.secondlife.com/map-{0}-{1}-{2}-objects.jpg", zoom, regX, regY)), - 20 * 1000, - null, - null, - (request, response, responseData, error) => - { - if (error == null && responseData != null) - { - try - { - Debug.Log("fetching the texture was successful!"); - - //lock (mapData.sceneTiles) - //{ - Debug.Log("1"); - //decode http response data into texture2d - //MapTile tex = mapData.getTile(); - MapTile tex = mapDataMgr.setEmptyTile(handle); //Tile is a empty tile right now -- we write to it soon. - - Debug.Log("2"); - //run jpeg decoding on the main thread, for now. - mainThreadInstance.Enqueue(DecodeDataToTexAsync(tex, responseData)); - - Debug.Log("3"); - //set the tile into tile manager - mapDataMgr.setTile( handle,tex); - Debug.Log("4"); - //} - - } - catch (Exception e) - { - Debug.LogError(e.Message); - } - } - } - ); - - - //lock (mapData.sceneTiles) - //{ - // mapData.sceneTiles[handle] = mapData.acquireTile(); //wtf! - //} - - return null; - } - } - - private IEnumerator DecodeDataToTexAsync(MapTile tex, byte[] responseData) - { - try - { - Texture2D _tex = tex.getTex(); - bool success = _tex.LoadImage(responseData); - - } - catch (Exception w) - { - Debug.Log("decode the texture failed : " + w.Message); - } - Debug.Log("completed mainthread async texture Decode."); - - yield return null; - - } - - - // get image from cache or asset manager. returns tex2D. - // should only be used for the minimap. Use http map API fetch for normal map. - //Texture2D DownloadRegionTile(ulong handle, UUID imageID, GridClient Client) - //{ - // //if (mapData.regionTiles.ContainsKey(handle)) return; - - // //lock (tileRequests) - // // if (!tileRequests.Contains(handle)) - // // tileRequests.Add(handle); - - - // Uri url = Client.Network.CurrentSim.Caps.GetTextureCapURI(); - // if (url != null) - // { - // if (Client.Assets.Cache.HasAsset(imageID)) - // { - // Texture2D img; - // OpenMetaverse.Imaging.ManagedImage mi; - // if (OpenMetaverse.Imaging.OpenJPEG.DecodeToImage(Client.Assets.Cache.GetCachedAssetBytes(imageID), out mi, out img)) - // { - // return img; - // //mapData.regionTiles[handle] = img; - // } - // lock (tileRequests) - // if (tileRequests.Contains(handle)) - // tileRequests.Remove(handle); - // } - // else - // { - // downloader.QueueDownlad( - // new Uri($"{url}/?texture_id={imageID}"), - // 30 * 1000, - // "image/x-j2c", - // null, - // (request, response, responseData, error) => - // { - // if (error == null && responseData != null) - // { - // Image img; - // OpenMetaverse.Imaging.ManagedImage mi; - // if (OpenMetaverse.Imaging.OpenJPEG.DecodeToImage(responseData, out mi, out img)) - // { - // mapData.regionTiles[handle] = img; - // Client.Assets.Cache.SaveAssetToCache(imageID, responseData); - // } - // } - - // lock (tileRequests) - // { - // if (tileRequests.Contains(handle)) - // { - // tileRequests.Remove(handle); - // } - // } - // }); - // } - // } - // else - // { - // Client.Assets.RequestImage(imageID, (state, assetTexture) => - // { - // switch (state) - // { - // case TextureRequestState.Pending: - // case TextureRequestState.Progress: - // case TextureRequestState.Started: - // return; - - // case TextureRequestState.Finished: - // if (assetTexture?.AssetData != null) - // { - // Image img; - // OpenMetaverse.Imaging.ManagedImage mi; - // if (OpenMetaverse.Imaging.OpenJPEG.DecodeToImage(assetTexture.AssetData, out mi, out img)) - // { - // mapData.regionTiles[handle] = img; - // } - // } - // lock (tileRequests) - // if (tileRequests.Contains(handle)) - // tileRequests.Remove(handle); - // break; - - // default: - // lock (tileRequests) - // if (tileRequests.Contains(handle)) - // tileRequests.Remove(handle); - // break; - // } - // }); - // } - //} - } - } -} \ No newline at end of file diff --git a/Assets/Raindrop/UI/map/MapMover.cs b/Assets/Raindrop/UI/map/MapMover.cs deleted file mode 100644 index fb921e0..0000000 --- a/Assets/Raindrop/UI/map/MapMover.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using UnityEngine; -using Raindrop; -using OpenMetaverse; - -namespace Raindrop.Presenters -{ - //an instance of a map 'look at' ; the focal point of camera. - public class MapMover : MonoBehaviour - { - //grid coordinates * 256 - [SerializeField] - public uint lookAt_x = 1000 * 256; - [SerializeField] - public uint lookAt_y = 1000 * 256; - - /// - /// get lookat of the camera in ( gridCoord * 256 ) units - /// - /// - - public ulong GetLookAt() - { - return Utils.UIntsToLong(lookAt_x, lookAt_y); - - } - - } -} \ No newline at end of file diff --git a/Assets/Raindrop/UI/map/MapPoolPresenter.cs b/Assets/Raindrop/UI/map/MapPoolPresenter.cs index 49bbc54..c1e9c8f 100644 --- a/Assets/Raindrop/UI/map/MapPoolPresenter.cs +++ b/Assets/Raindrop/UI/map/MapPoolPresenter.cs @@ -6,23 +6,22 @@ using System.Threading.Tasks; using Unity.Mathematics; using UnityEngine; using Raindrop.Map; +using Raindrop.UI.Views; namespace Raindrop.UI { - // manages the pool of map textures and gameobjects. - // map pool. - // map maker + /// + /// manages the pool of map textures and gameobjects. + /// map pool. + /// map maker + /// + /// - class MapPoolPresenter : MonoBehaviour + class MapPoolPresenter { + private MapSceneView mapSceneView; - - [SerializeField] - public GameObject mapPrefab; - - private Dictionary map_collection; //coordinates -> GO - - + //viewable area of the current map_collection. public int max_X, max_Y; public int min_X, min_Y; @@ -33,132 +32,49 @@ namespace Raindrop.UI // 4 - one 256^2 texture is 8*8 sims. public int zoomLevel; - private void Awake() + public MapPoolPresenter(MapSceneView mapSceneView) { + this.mapSceneView = mapSceneView; + max_X = max_Y = max_X = max_Y = 1000; zoomLevel = 1; - var map = Instantiate(mapPrefab, new Vector3(0, 0, 0), Quaternion.identity); - map_collection.Add(new Vector2Int(1000,1000), map); } - private void createMapTileAt(Vector2Int pos, int zoomLevel) - { - var map = Instantiate(mapPrefab, new Vector3(0, 0, 0), Quaternion.identity); - map_collection.Add(pos, map); - - } - private void clearTiles() - { - map_collection.Clear(); - - } - - //private void setViewableRangeMinMax(OpenMetaverse.Vector2 min, OpenMetaverse.Vector2 max) + //private void clearTiles() //{ - // // re-composites the scene based on the viewable region - // updateTexturesIfNecessary(min, max); - //} - - /// - /// - /// - /// Where the camera is looking at - in Sim coordinates*256 ie handle coords. - /// - public void setViewableRange(OpenMetaverse.Vector2 focalPoint, OpenMetaverse.Vector2 range) - { - var min = MapLogic.getMinVec2(range, focalPoint); - var max = MapLogic.getMaxVec2(range, focalPoint); - - // re-composites the scene based on the viewable region - updateTexturesIfNecessary(min, max); - } - public void setViewableRange(uint x,uint y, OpenMetaverse.Vector2 range) - { - setViewableRange(new OpenMetaverse.Vector2(x,y), range); - } - - // min : bottom left - // max : top right - private void updateTexturesIfNecessary(OpenMetaverse.Vector2 min, OpenMetaverse.Vector2 max) - { - //'round-up' the corners. - int _max_X = (int) Mathf.CeilToInt(max.X); - int _max_Y = (int) Mathf.CeilToInt(max.Y); - int _min_X = (int) Mathf.CeilToInt(min.X); - int _min_Y = (int) Mathf.CeilToInt(min.Y); - - //check if all are in the map. - ////obtain list of viewable textures. - ////List list = new List(); - for (int i = _min_Y; i <= _max_Y; i++) - { - for (int j = _min_X; j <= _max_X; j++) - { - var tocheck = new Vector2Int(j, i); - if (! map_collection.ContainsKey(tocheck)) - { - - } - //list.Add( new Vector2Int(j,i) ); - } - } - - } - - ////sets a map block that is 256pic * 256pic - //private void SetMapLayer(Texture2D new_texture, Vector2Int regionXY) - //{ - // Debug.Log("setting the image to the new gameobject"); - // if (mapManager.map_collection.ContainsKey(regionXY)) - // { - // //update the region. - // //MonoBehaviour theGO; - // //map_collection.TryGetValue(regionXY, out theGO); - - // //Destroy(theGO.map_tex); //delete the tex2d that is no longer (?) used. - // } - // else - // { - // GameObject mapGO = new GameObject(); - // mapGO.transform.SetParent(this.transform); - - // var MR = mapGO.AddComponent(); - // MR.sharedMaterial = new UnityEngine.Material(Shader.Find("Standard")); - // //MR. - // var MF = mapGO.AddComponent(); - - // //generate the plane. - // Mesh m = new Mesh(); - // var width = 1; - // var height = 1; - // m.vertices = new Vector3[]{ - // new Vector3(0, 0, 0), - // new Vector3(width, 0, 0), - // new Vector3(width, height, 0), - // new Vector3(0, height, 0) - // }; - // m.uv = new Vector2[]{ - // new Vector2(0, 0), - // new Vector2(0, 1), - // new Vector2(1, 1), - // new Vector2(1, 0), - // }; - // m.triangles = new int[] { 0, 2, 1, 0, 3, 2 }; //clockwise? - // MF.mesh = m; - // m.RecalculateBounds(); - // m.RecalculateNormals(); - - // MR.material.mainTexture = new_texture; - - // map_collection.Add(regionXY, mapGO); - - // } - + // map_collection.Clear(); //} + //// min : bottom left + //// max : top right + //private void updateTexturesIfNecessary(OpenMetaverse.Vector2 min, OpenMetaverse.Vector2 max) + //{ + // //'round-up' the corners. + // int _max_X = (int) Mathf.CeilToInt(max.X); + // int _max_Y = (int) Mathf.CeilToInt(max.Y); + // int _min_X = (int) Mathf.CeilToInt(min.X); + // int _min_Y = (int) Mathf.CeilToInt(min.Y); + // //check if all are in the map. + // ////obtain list of viewable textures. + // ////List list = new List(); + // for (int i = _min_Y; i <= _max_Y; i++) + // { + // for (int j = _min_X; j <= _max_X; j++) + // { + // var tocheck = new Vector2Int(j, i); + // if (! map_collection.ContainsKey(tocheck)) + // { + + // } + // //list.Add( new Vector2Int(j,i) ); + // } + // } + + //} + } } diff --git a/Assets/Raindrop/UI/map/MapPresenter.cs b/Assets/Raindrop/UI/map/MapPresenter.cs index 3d1101f..be3321d 100644 --- a/Assets/Raindrop/UI/map/MapPresenter.cs +++ b/Assets/Raindrop/UI/map/MapPresenter.cs @@ -1,8 +1,10 @@ using OpenMetaverse; using OpenMetaverse.Assets; using OpenMetaverse.Imaging; +using Raindrop.Map.Model; using Raindrop.Netcom; using Raindrop.UI; +using Raindrop.UI.Views; using System; using System.Collections.Generic; using UniRx; @@ -12,89 +14,132 @@ using UnityEngine.UI; using Vector2 = UnityEngine.Vector2; using Vector3 = UnityEngine.Vector3; -namespace Raindrop.Presenters +namespace Raindrop.UI.Presenters { - // map texture module - root gameobject. - - // this manages the 2d texture objects in the map texture layer - // min = bottom left (OM) - // max = top right (OM) - public class MapPresenter : MonoBehaviour + public class MapPresenter { - //camera. contains the viewable range. - [SerializeField] - public GameObject cameraPresenterGO; - private StationaryDownwardOrthoCameraPresenter cameraPresenter; - - //map mover. Contains focal point. Moves focal point in response to screen swipes. - [SerializeField] - public GameObject mapMoverGO; - private MapMover mapMover; - //public OpenMetaverse.Vector2 focalPoint; - //public Transform mapOrigin; // 1000,1000 - - // map manager. keeps track of mapsGOs. creates new mapGOs from prefabs. culls those that are no longer visible. fetches those that need to be viewed. - [SerializeField] - public GameObject mapManagerGO; - private MapPoolPresenter mapManager; - - // a reference to the avatar in the grid. - public GameObject Avatar; + private MapViewer mapViewer; + private MapSceneView mapSceneView; + private MapBackend mapFetcher; + private bool needRepaint; private RaindropInstance instance { get { return ServiceLocator.ServiceLocator.Instance.Get(); } } private RaindropNetcom netcom { get { return instance.Netcom; } } private GridClient client { get { return instance.Client; } } + bool Active => instance.Client.Network.Connected; - - - public void Awake() + /// + /// ctor -- takes in a UI view and a gameobject view + /// + /// + public MapPresenter(MapViewer mapViewer, MapSceneView mapSceneView) { + this.mapViewer = mapViewer; + this.mapSceneView = mapSceneView; - if (cameraPresenterGO == null) - { - throw new Exception("cameraPresenterGO not assigned."); - } - cameraPresenter = cameraPresenterGO.GetComponent(); - - if (mapMoverGO == null) - { - throw new Exception("MapMoverGO not assigned."); - } - mapMover = mapMover.GetComponent(); - - if (mapManagerGO == null) - { - throw new Exception("mapManagerGO not assigned."); - } - mapManager = mapManager.GetComponent(); - - - //instance.Client.Network.SimChanged += Network_OnCurrentSimChanged; - } - - - private void Update() - { - UpdateMapViewing(); + //mapFetcher = ServiceLocator.ServiceLocator.Instance.Get(); + mapFetcher = new MapBackend(); } /// - /// Update what is viewable and what is not. + /// get a list of region handles that are visible to the camera. /// - private void UpdateMapViewing() + /// + public List calcVisibleRegionHandles() { - var range = cameraPresenter.getRange(); // we can see this ranges now. - ulong focalPoint = mapMover.GetLookAt(); - uint x; - uint y; - //var min = MapLogic.getMinVec2(range, focalPoint); - //var max = MapLogic.getMaxVec2(range, focalPoint); - Utils.LongToUInts(focalPoint, out x, out y); - mapManager.setViewableRange(x, y, range); + // camera pos + CameraView camView = mapSceneView.getCameraView(); + // camera bounds + Vector2 min = Vector2.Max(camView.getMin(), Vector2.zero); + Vector2 max = Vector2.Max(camView.getMax(), Vector2.zero); + // for loop from bounds to bounds. + List visiblehandles = new List(); + int vert_min = (int) min.y; + int vert_max = (int) max.y; + int horz_min = (int) min.x; + int horz_max = (int) max.x; + for (int i = horz_min; i 30) + { + throw new Exception("too many tiles to downlaod bro!"); + } + + return visiblehandles; } + /// + /// Retrieves desired tile from backend. if not present, tiles will be fetched and come in at a later time. + /// + public void onRefresh() + { + var handles = calcVisibleRegionHandles(); + + foreach(var handle in handles) + { + var tile = mapFetcher.tryGetMapTile(handle, 1); + + if (tile == null) + { + //not avail in backend so fetch it. + mapFetcher.GetRegionTileExternal(handle, 1); + Debug.Log("fetching texture at " + handle); + } else + { + //if (mapSceneView.isPresent(handle)) + //{ + + //} + //else + //{ + mapSceneView.createMapTileAt(handle, tile); + Debug.Log("making tile at " + handle); + + //} + } + + + } + + Debug.Log("refreshed internal images. fetching images if any.."); + return; + } + + + /// + /// Redraws the tiles if the redraw flag is true. + /// + //private void redrawMap() + //{ + // //onRefresh(); //hacky + + // if (needRepaint) + // { + // needRepaint = false; + // } + // else + // { + // return; + // } + + // ulong handle = mapLookAt.GetLookAt(); + // MapTile tex = mapFetcher.tryGetMapTile(handle, 1); + + // if (tex != null) + // { + // mapSceneView.setRawImage(tex.getTex()); + // } + // Debug.Log("drew images."); + //} + //private void Network_OnCurrentSimChanged(object sender, SimChangedEventArgs e) //{ @@ -134,7 +179,7 @@ namespace Raindrop.Presenters //} - + } diff --git a/Assets/Raindrop/UI/map/MapTile.prefab b/Assets/Raindrop/UI/map/MapTile.prefab new file mode 100644 index 0000000..570b1df --- /dev/null +++ b/Assets/Raindrop/UI/map/MapTile.prefab @@ -0,0 +1,128 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4388118593235937986 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8521627812515242652} + - component: {fileID: 13259539368458950} + m_Layer: 0 + m_Name: MapTile + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8521627812515242652 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4388118593235937986} + 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: 7392048557130180065} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &13259539368458950 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4388118593235937986} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 866e029c2878fad448f745025e9b4341, type: 3} + m_Name: + m_EditorClassIdentifier: + texturableGO: {fileID: 8388067586253381780} +--- !u!1 &8388067586253381780 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7392048557130180065} + - component: {fileID: 5605264082212299153} + - component: {fileID: 6124680892397115969} + m_Layer: 0 + m_Name: Texture + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7392048557130180065 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8388067586253381780} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.5, y: 0, z: 0.5} + m_LocalScale: {x: 0.095, y: 0.095, z: 0.095} + m_Children: [] + m_Father: {fileID: 8521627812515242652} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &5605264082212299153 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8388067586253381780} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &6124680892397115969 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8388067586253381780} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/Raindrop/UI/map/MapTile.prefab.meta b/Assets/Raindrop/UI/map/MapTile.prefab.meta new file mode 100644 index 0000000..f0fb5e0 --- /dev/null +++ b/Assets/Raindrop/UI/map/MapTile.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d4486e9d963742a4a8db3b183db0b919 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Raindrop/UI/map/MapTileView.cs b/Assets/Raindrop/UI/map/MapTileView.cs deleted file mode 100644 index e19b2c4..0000000 --- a/Assets/Raindrop/UI/map/MapTileView.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; - -namespace Raindrop.Presenters -{ - // An implementation of view. Attach to GO that has rawimage. - // refers to a single texture; a single tile. can refer to many sims on a single tile. - [RequireComponent(typeof(RawImage))] - public class MapTileView : MonoBehaviour - { - public void setRawImage(Texture2D img) - { - //hack: delete old texture before loading new one - - if (this.GetComponent().texture != null) - { - UnityEngine.Object.Destroy(this.GetComponent().texture); - } - this.GetComponent().texture = img; - - } - } -} diff --git a/Assets/Raindrop/UI/map/logic.meta b/Assets/Raindrop/UI/map/logic.meta new file mode 100644 index 0000000..c9bc6f7 --- /dev/null +++ b/Assets/Raindrop/UI/map/logic.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 59e42b8c540ce4445b9fccf366228e7d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Raindrop/UI/map/model.meta b/Assets/Raindrop/UI/map/model.meta new file mode 100644 index 0000000..66868db --- /dev/null +++ b/Assets/Raindrop/UI/map/model.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 76f29b6b41aed5d45b8906710ed251d9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Raindrop/UI/map/model/MapBackend.cs b/Assets/Raindrop/UI/map/model/MapBackend.cs new file mode 100644 index 0000000..3898074 --- /dev/null +++ b/Assets/Raindrop/UI/map/model/MapBackend.cs @@ -0,0 +1,167 @@ +using OpenMetaverse; +using Raindrop.Network; +using Raindrop.UI; +using ServiceLocator; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using UniRx; +using UnityEngine; + +namespace Raindrop.Map.Model +{ + /// + /// Contains logic to fetch and decode the map textures. + /// + + //backend image fetch logic + + + + // map fetching class. + // contains a dict for tracking the tile maps. + // contains the reusable pool to discard and recycle tile maps. + public class MapBackend : IGameService + { + MapTilesManager mapTilesManager; + List tileRequests = new List(); // a list of pending fetch requests. the ulongs are the x and y world coordinates (gridX * 256), packed. + uint regionSize = 256; + private ParallelDownloader downloader; + int poolSize = 10; + + UnityMainThreadDispatcher mainThreadInstance; + + public MapBackend() + { + mapTilesManager = new MapTilesManager(10); + + downloader = new ParallelDownloader(); + + mainThreadInstance = UnityMainThreadDispatcher.Instance(); + } + + /// + /// API to Get the map tile at specific region handle and zoom level. Only zoom level 1 is supported. + /// gets the map tile at handle if present. + /// if not present, a webrequest for the tile will be made. a notification of download success will not be reported to the caller of this function. + /// + /// + /// + /// + public MapTile tryGetMapTile(ulong handle, int zoom) + { + MapTile res = null; + + //try + //{ + res = mapTilesManager.tryGetTile(handle); + //} + //catch (Exception) + //{ + //uint x, y; + //Utils.LongToUInts(handle, out x, out y); + //Debug.LogError("no tile found at " + x + " " + y); + //} + return res; + } + + + //get region tile using SL map API -- JPEG images. + // obtains the image from URL, decodes it in main thread, the stores data in the appropriate maptile. + public MapTile GetRegionTileExternal(ulong handle, int zoom) + { + if ((zoom > 4) || (zoom < 1)) + { + return null; + } + + + if (tryGetMapTile(handle, 1) != null) + { + return tryGetMapTile(handle, 1); + } + else + { + lock (tileRequests) + { + if (tileRequests.Contains(handle)) return null; + tileRequests.Add(handle); + } + + uint regX, regY; + Utils.LongToUInts(handle, out regX, out regY); + regX /= regionSize; + regY /= regionSize; + //int zoom = 1; + + downloader.QueueDownlad( + new Uri(string.Format("http://map.secondlife.com/map-{0}-{1}-{2}-objects.jpg", zoom, regX, regY)), + 20 * 1000, + null, + null, + (request, response, responseData, error) => + { + if (error == null && responseData != null) + { + try + { + Debug.Log("fetching the texture was successful!"); + + //lock (mapData.sceneTiles) + //{ + //decode http response data into texture2d + //MapTile tex = mapData.getTile(); + MapTile tile = mapTilesManager.setEmptyTile(handle); //Tile is a empty tile right now -- we write to it soon. + + //run jpeg decoding on the main thread, for now. + mainThreadInstance.Enqueue(DecodeDataToTexAsync(tile, responseData)); + + //set the tile into tile manager + //mapTilesManager.setTile(handle, tile); + //} + + lock (tileRequests) + if (tileRequests.Contains(handle)) + tileRequests.Remove(handle); + + } + catch (Exception e) + { + Debug.LogError(e.Message); + } + } + } + ); + + + //lock (mapData.sceneTiles) + //{ + // mapData.sceneTiles[handle] = mapData.acquireTile(); //wtf! + //} + + return null; + } + } + + private IEnumerator DecodeDataToTexAsync(MapTile tex, byte[] responseData) + { + try + { //check for failed downlaod. + Texture2D _tex = tex.getTex(); + bool success = _tex.LoadImage(responseData); + + } + catch (Exception w) + { + Debug.LogWarning("decode the texture failed : " + w.Message); + } + Debug.Log("completed mainthread async texture Decode."); + + yield return null; + + } + + + } +} diff --git a/Assets/Raindrop/UI/map/MapLogic.cs.meta b/Assets/Raindrop/UI/map/model/MapBackend.cs.meta similarity index 83% rename from Assets/Raindrop/UI/map/MapLogic.cs.meta rename to Assets/Raindrop/UI/map/model/MapBackend.cs.meta index ea5deb1..466cd6e 100644 --- a/Assets/Raindrop/UI/map/MapLogic.cs.meta +++ b/Assets/Raindrop/UI/map/model/MapBackend.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 58911af2e320c754488a329d38fda964 +guid: 37eb9ed76f9ebda4d9417f77ea151919 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Raindrop/UI/map/MapTile.cs b/Assets/Raindrop/UI/map/model/MapTile.cs similarity index 98% rename from Assets/Raindrop/UI/map/MapTile.cs rename to Assets/Raindrop/UI/map/model/MapTile.cs index 599ebf1..865b3a2 100644 --- a/Assets/Raindrop/UI/map/MapTile.cs +++ b/Assets/Raindrop/UI/map/model/MapTile.cs @@ -1,7 +1,7 @@ using OpenMetaverse; using UnityEngine; -namespace Raindrop.Map +namespace Raindrop.Map.Model { /// /// A DS that represents a maptile in the scene. diff --git a/Assets/Raindrop/UI/map/MapTile.cs.meta b/Assets/Raindrop/UI/map/model/MapTile.cs.meta similarity index 100% rename from Assets/Raindrop/UI/map/MapTile.cs.meta rename to Assets/Raindrop/UI/map/model/MapTile.cs.meta diff --git a/Assets/Raindrop/UI/map/MapDataManager.cs b/Assets/Raindrop/UI/map/model/MapTilesManager.cs similarity index 92% rename from Assets/Raindrop/UI/map/MapDataManager.cs rename to Assets/Raindrop/UI/map/model/MapTilesManager.cs index 54bf9e3..45d8691 100644 --- a/Assets/Raindrop/UI/map/MapDataManager.cs +++ b/Assets/Raindrop/UI/map/model/MapTilesManager.cs @@ -2,12 +2,12 @@ using System; using System.Collections.Generic; -namespace Raindrop.Map +namespace Raindrop.Map.Model { /// /// API to retrieve, delete, modify, create MapTiles in the scene /// - public class MapDataManager + public class MapTilesManager { //number of tiles that are in the scene. @@ -16,10 +16,10 @@ namespace Raindrop.Map //tiles that are in the scene. private Dictionary sceneTiles = new Dictionary(); - private MapDataPool pool; - public MapDataManager(int poolSize) + private MapTilesPool pool; + public MapTilesManager(int poolSize) { - pool = new MapDataPool(poolSize); + pool = new MapTilesPool(poolSize); } diff --git a/Assets/Raindrop/UI/map/MapDataManager.cs.meta b/Assets/Raindrop/UI/map/model/MapTilesManager.cs.meta similarity index 100% rename from Assets/Raindrop/UI/map/MapDataManager.cs.meta rename to Assets/Raindrop/UI/map/model/MapTilesManager.cs.meta diff --git a/Assets/Raindrop/UI/map/MapDataPool.cs b/Assets/Raindrop/UI/map/model/MapTilesPool.cs similarity index 90% rename from Assets/Raindrop/UI/map/MapDataPool.cs rename to Assets/Raindrop/UI/map/model/MapTilesPool.cs index 1047b49..3d0f416 100644 --- a/Assets/Raindrop/UI/map/MapDataPool.cs +++ b/Assets/Raindrop/UI/map/model/MapTilesPool.cs @@ -1,17 +1,17 @@ using System; using System.Collections.Generic; -namespace Raindrop.Map +namespace Raindrop.Map.Model { //pooling pattern for objects -- holds UNUSED map in memory. - public class MapDataPool + public class MapTilesPool { private Queue tilePool; public int count => tilePool.Count; - public MapDataPool(int poolSize) + public MapTilesPool(int poolSize) { tilePool = new Queue(poolSize); for (int i = 0; i < poolSize; i++) diff --git a/Assets/Raindrop/UI/map/MapMover.cs.meta b/Assets/Raindrop/UI/map/model/MapTilesPool.cs.meta similarity index 83% rename from Assets/Raindrop/UI/map/MapMover.cs.meta rename to Assets/Raindrop/UI/map/model/MapTilesPool.cs.meta index 4304a2e..d7ed29d 100644 --- a/Assets/Raindrop/UI/map/MapMover.cs.meta +++ b/Assets/Raindrop/UI/map/model/MapTilesPool.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c99728517c04bae4ab466165d1e37fd7 +guid: 89386530d5358924cb4892b6dd3d0b44 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Raindrop/UI/map/network.meta b/Assets/Raindrop/UI/map/network.meta new file mode 100644 index 0000000..cfc249e --- /dev/null +++ b/Assets/Raindrop/UI/map/network.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 820d31c782dc0ef43ba69d3c186ce3d6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Raindrop/UI/map/ParallelDownloader.cs b/Assets/Raindrop/UI/map/network/ParallelDownloader.cs similarity index 100% rename from Assets/Raindrop/UI/map/ParallelDownloader.cs rename to Assets/Raindrop/UI/map/network/ParallelDownloader.cs diff --git a/Assets/Raindrop/UI/map/ParallelDownloader.cs.meta b/Assets/Raindrop/UI/map/network/ParallelDownloader.cs.meta similarity index 100% rename from Assets/Raindrop/UI/map/ParallelDownloader.cs.meta rename to Assets/Raindrop/UI/map/network/ParallelDownloader.cs.meta diff --git a/Assets/Raindrop/UI/map/presenter.meta b/Assets/Raindrop/UI/map/presenter.meta new file mode 100644 index 0000000..02e9e2d --- /dev/null +++ b/Assets/Raindrop/UI/map/presenter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 78b0cdb4bba7e1248a0945beea1f2533 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Raindrop/UI/map/view.meta b/Assets/Raindrop/UI/map/view.meta new file mode 100644 index 0000000..264be3c --- /dev/null +++ b/Assets/Raindrop/UI/map/view.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e5114afc5020e0f42a729803013926ff +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Raindrop/UI/map/StationaryDownwardOrthoCameraPresenter.cs b/Assets/Raindrop/UI/map/view/CameraView.cs similarity index 57% rename from Assets/Raindrop/UI/map/StationaryDownwardOrthoCameraPresenter.cs rename to Assets/Raindrop/UI/map/view/CameraView.cs index 0239f44..51b4161 100644 --- a/Assets/Raindrop/UI/map/StationaryDownwardOrthoCameraPresenter.cs +++ b/Assets/Raindrop/UI/map/view/CameraView.cs @@ -1,59 +1,115 @@ using OpenMetaverse; using System; using UnityEngine; -using Vector2 = OpenMetaverse.Vector2; +//using Vector2 = OpenMetaverse.Vector2; +using UE = UnityEngine; -namespace Raindrop.Presenters +namespace Raindrop.UI.Views { //the camera no longer moves. however the zoom is still controlled here. //the map moves. - internal class StationaryDownwardOrthoCameraPresenter : MonoBehaviour + internal class CameraView : MonoBehaviour { + public bool isDownward = true; + public bool isOrtho = true; + public GameObject cameraGO; - public Camera camera; + private Camera camera; + + //map mover. Contains focal point. Moves focal point in response to screen swipes. + [SerializeField] + public GameObject MapLookAtGO; + private MapLookAt mapLookAt; + + private UE.Vector2 min; + private UE.Vector2 max; + + /// + /// 2D axes + /// + private float centerX => this.transform.position.x; + private float centerY => this.transform.position.z; + private void Awake() { //viewableSize = camera.orthographicSize; //orthographicSize is half the size of the vertical viewing volume. init(); + //mapLookAt = mapLookAt.GetComponent(); } + + + /// + /// Sets the zoom of the orth camera. a value of 1 means that the height of the viewing is 1. a value of 10 means the height of the viewing is 10. + /// + /// + public void setZoom(float zoom) + { + var maxZoom = 10; + zoom = Mathf.Clamp(zoom, 1, maxZoom); + setVertHeight(zoom); + } + /// /// get the viewable range (height and width) of the camera as x,y tuple. Units are in orthographic units. /// /// - public OpenMetaverse.Vector2 getRange() + //public OpenMetaverse.Vector2 getRange() + //{ + // return new Vector2(getHorzRange(), getVertRange()); + //} + + + + /// + /// + /// In unity units. -- you need to x256 + /// + /// + public UE.Vector2 getMin() { - return new Vector2(getHorzRange(), getVertRange()); + var pos_x = centerX - getHorzRange(); + var pos_y = centerY - getVertRange(); + + min.Set(pos_x, pos_y); + return min; } - // get the vertical height of the camera as float. - public float getVertHeight() + /// + /// In unity units. -- you need to x256 + /// + public UE.Vector2 getMax() { - return camera.orthographicSize; + var pos_x = centerX + getHorzRange(); + var pos_y = centerY + getVertRange(); + + max.Set(pos_x, pos_y); + return max; } + // set the vertical height of the camera as float. - public void setVertHeight(float height) + private void setVertHeight(float height) { camera.orthographicSize = height; return; } /// - /// Get the complete height of the camera. (top-down.) + /// Get the half-height of the camera. /// /// private float getVertRange() { - return camera.orthographicSize * 2; + return camera.orthographicSize; } /// - /// Get the complete width of the camera. (left-right) + /// Get the half-width of the ortho camera. /// /// private float getHorzRange() { - return camera.orthographicSize * 2 * camera.aspect; + return camera.orthographicSize * camera.aspect; } ////these coordinate differences are quite condfusing. @@ -87,6 +143,9 @@ namespace Raindrop.Presenters // _updateCameraPos(gridX, gridY); //} + /// + /// Initilise camera with relevant params + /// internal void init() { if (cameraGO == null || !cameraGO.GetComponent()) @@ -97,6 +156,16 @@ namespace Raindrop.Presenters } camera = cameraGO.GetComponent(); + //if (isDownward) + //{ + // cameraGO.transform.LookAt(transform.position + UnityEngine.Vector3.down); + //} + + //if (isOrtho) + //{ + // camera.orthographic = true; + //} + //cameraGO = new GameObject(); //camera = cameraGO.AddComponent(); diff --git a/Assets/Raindrop/UI/map/StationaryDownwardOrthoCameraPresenter.cs.meta b/Assets/Raindrop/UI/map/view/CameraView.cs.meta similarity index 100% rename from Assets/Raindrop/UI/map/StationaryDownwardOrthoCameraPresenter.cs.meta rename to Assets/Raindrop/UI/map/view/CameraView.cs.meta diff --git a/Assets/Raindrop/UI/map/view/MapLookAt.cs b/Assets/Raindrop/UI/map/view/MapLookAt.cs new file mode 100644 index 0000000..0f23670 --- /dev/null +++ b/Assets/Raindrop/UI/map/view/MapLookAt.cs @@ -0,0 +1,85 @@ +using System; +using UnityEngine; +using Raindrop; +using OpenMetaverse; + +namespace Raindrop.UI.Views +{ + //an instance of a map 'look at' ; the focal point of camera. + public class MapLookAt : MonoBehaviour + { + //grid coordinates * 256 + [SerializeField] + public uint lookAt_x => Convert.ToUInt32(floatingLookAt_x * 256); //1000 * 256; + [SerializeField] + public uint lookAt_y => Convert.ToUInt32(floatingLookAt_y * 256); //1000 * 256; + + //grid coordinates * 1 + [SerializeField] + private float floatingLookAt_x = 1000; + [SerializeField] + private float floatingLookAt_y = 1000; + + //values when the finger is not released yet. + [SerializeField] + public float prev_floatingLookAt_x = 1000; + [SerializeField] + public float prev_floatingLookAt_y = 1000; + + + /// + /// get lookat of the camera in ( gridCoord * 256 ) units + /// + /// + + public ulong GetLookAt() + { + return Utils.UIntsToLong(lookAt_x, lookAt_y); + + } + + /// + /// Move the *floating* lookAt by this amount. + /// moves by an relative amount - that is, all parameters of this call parameters are relative to the *inital touch location*. + /// + /// change of x - in units where there are 256 units per Sim. + /// + public void MoveFloatingLookAt_Relative(float x, float y) + { + floatingLookAt_x = prev_floatingLookAt_x + x; + floatingLookAt_y = prev_floatingLookAt_y + y; + + Debug.Log(x); + Debug.Log(y); + + updateThisPos(floatingLookAt_x, floatingLookAt_y); + } + + private void updateThisPos(float floatingLookAt_x, float floatingLookAt_y) + { + this.transform.position = new UnityEngine.Vector3(floatingLookAt_x, this.transform.position.x, floatingLookAt_y); + } + + /// + /// Sets the lookAt to a final position. Call this when the finger is released. + /// + /// + /// + public void MoveFloatingLookAt_Relative_OnRelease(float x, float y) + { + floatingLookAt_x = prev_floatingLookAt_x + x; + floatingLookAt_y = prev_floatingLookAt_y + y; + + prev_floatingLookAt_x = floatingLookAt_x; + prev_floatingLookAt_y = floatingLookAt_y; + + } + + private void Awake() + { + + + } + + } +} \ No newline at end of file diff --git a/Assets/Raindrop/UI/map/MapDataPool.cs.meta b/Assets/Raindrop/UI/map/view/MapLookAt.cs.meta similarity index 83% rename from Assets/Raindrop/UI/map/MapDataPool.cs.meta rename to Assets/Raindrop/UI/map/view/MapLookAt.cs.meta index d72f060..5c5bda9 100644 --- a/Assets/Raindrop/UI/map/MapDataPool.cs.meta +++ b/Assets/Raindrop/UI/map/view/MapLookAt.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f157d1bbe73dcd6478c48641516b668a +guid: 62bf8cfe3c16b714ab5198060c130f89 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Raindrop/UI/map/view/MapSceneView.cs b/Assets/Raindrop/UI/map/view/MapSceneView.cs new file mode 100644 index 0000000..8945d7a --- /dev/null +++ b/Assets/Raindrop/UI/map/view/MapSceneView.cs @@ -0,0 +1,180 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Unity.Mathematics; +using UnityEngine; +using Raindrop.Map; +using OpenMetaverse; +using UE = UnityEngine; +using Raindrop.Map.Model; +using Raindrop.Presenters; + +namespace Raindrop.UI.Views +{ + /// + /// the view that is in the root of the map layer/ map scene. + /// - instantiates map tile prefabs. + /// - keeps track of the map tiles in a dict. + /// - contains the camera + /// + + public class MapSceneView : MonoBehaviour + { + private MapPoolPresenter mapPoolPresenter; + + + [SerializeField] + public GameObject mapPrefab; + + //camera. contains the viewable range. + [SerializeField] + public GameObject cameraViewGO; + private CameraView cameraView; + + private Dictionary map_collection = new Dictionary(); //tiles that are in the scene. + + + //viewable area of the current map_collection. + public int max_X, max_Y; + public int min_X, min_Y; + + //the current zoom level that the user is requesting. + // 1 - one 256^2 texture is 1 sim. + // ... + // 4 - one 256^2 texture is 8*8 sims. + public int zoomLevel; + + private void Awake() + { + + cameraView = cameraViewGO.GetComponent(); + + mapPoolPresenter = new MapPoolPresenter(this); + + max_X = max_Y = max_X = max_Y = 1000; + zoomLevel = 1; + } + + + //private UE.Vector2Int handleToVector2(ulong handle) + //{ + // uint x, y; + // Utils.LongToUInts(handle, out x, out y); + // return new UnityEngine.Vector2Int((int)x, (int)y); + //} + + public void createMapTileAt(ulong handle, MapTile tile) + { + //var pos = handleToVector2(handle); + + UE.Vector3 posInScene = toV3(handle); + + var map = Instantiate(mapPrefab, posInScene, UE.Quaternion.identity); + map_collection.Add(handle, map); + + map.GetComponent().setRawImage(tile.getTex()); + } + + private UE.Vector3 toV3(ulong handle) + { + uint x, y; + Utils.LongToUInts(handle, out x, out y); + + return new UE.Vector3(x/256, 0, y/256); + } + + internal CameraView getCameraView() + { + return cameraView; + } + + private void clearTiles() + { + map_collection.Clear(); + + } + + internal bool isPresent(ulong handle) + { + //var pos = handleToVector2(handle); + return map_collection.ContainsKey(handle); + + } + + /// + /// + /// + /// Where the camera is looking at - in Sim coordinates*256 ie handle coords. + /// + //public void setViewableRange(OpenMetaverse.Vector2 focalPoint, OpenMetaverse.Vector2 range) + //{ + // var min = MapBackend.getMinVec2(range, focalPoint); + // var max = MapBackend.getMaxVec2(range, focalPoint); + + // // re-composites the scene based on the viewable region + // updateTexturesIfNecessary(min, max); + //} + //public void setViewableRange(uint x,uint y, OpenMetaverse.Vector2 range) + //{ + // setViewableRange(new OpenMetaverse.Vector2(x,y), range); + //} + + + ////sets a map block that is 256pic * 256pic + //private void SetMapLayer(Texture2D new_texture, Vector2Int regionXY) + //{ + // Debug.Log("setting the image to the new gameobject"); + // if (mapManager.map_collection.ContainsKey(regionXY)) + // { + // //update the region. + // //MonoBehaviour theGO; + // //map_collection.TryGetValue(regionXY, out theGO); + + // //Destroy(theGO.map_tex); //delete the tex2d that is no longer (?) used. + // } + // else + // { + // GameObject mapGO = new GameObject(); + // mapGO.transform.SetParent(this.transform); + + // var MR = mapGO.AddComponent(); + // MR.sharedMaterial = new UnityEngine.Material(Shader.Find("Standard")); + // //MR. + // var MF = mapGO.AddComponent(); + + // //generate the plane. + // Mesh m = new Mesh(); + // var width = 1; + // var height = 1; + // m.vertices = new Vector3[]{ + // new Vector3(0, 0, 0), + // new Vector3(width, 0, 0), + // new Vector3(width, height, 0), + // new Vector3(0, height, 0) + // }; + // m.uv = new Vector2[]{ + // new Vector2(0, 0), + // new Vector2(0, 1), + // new Vector2(1, 1), + // new Vector2(1, 0), + // }; + // m.triangles = new int[] { 0, 2, 1, 0, 3, 2 }; //clockwise? + // MF.mesh = m; + // m.RecalculateBounds(); + // m.RecalculateNormals(); + + // MR.material.mainTexture = new_texture; + + // map_collection.Add(regionXY, mapGO); + + // } + + + //} + + + + } +} diff --git a/Assets/Raindrop/UI/screens/MapPresenter.cs.meta b/Assets/Raindrop/UI/map/view/MapSceneView.cs.meta similarity index 83% rename from Assets/Raindrop/UI/screens/MapPresenter.cs.meta rename to Assets/Raindrop/UI/map/view/MapSceneView.cs.meta index 0e9f8ba..cc5cf19 100644 --- a/Assets/Raindrop/UI/screens/MapPresenter.cs.meta +++ b/Assets/Raindrop/UI/map/view/MapSceneView.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 327f1fb8354daac46abcf57544d8c82e +guid: b1eb66cf6e85f814f8370584e7b8fa03 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Raindrop/UI/map/view/MapTileView.cs b/Assets/Raindrop/UI/map/view/MapTileView.cs new file mode 100644 index 0000000..e18990a --- /dev/null +++ b/Assets/Raindrop/UI/map/view/MapTileView.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +namespace Raindrop.Presenters +{ + // An implementation of view. Attach to GO that has rawimage. + // refers to a single texture; a single tile. can refer to many sims on a single tile. + //[RequireComponent(typeof(RawImage))] + + + public class MapTileView : MonoBehaviour + { + public GameObject texturableGO; + private UnityEngine.Object texturableObj; + + public void setRawImage(Texture2D img) + { + //hack: delete old texture before loading new one + + if (texturableObj != null) + { + UnityEngine.Object.Destroy(texturableObj); + } + + + + setTex(img); + + } + + private void setTex(Texture2D img) + { + if (texturableGO.GetComponent() != null) + { + texturableObj = texturableGO.GetComponent().mainTexture; //rawimage + texturableObj = img; + } + + if (texturableGO.GetComponent() != null) + { + texturableObj = texturableGO.GetComponent().material.mainTexture; //texture2d + texturableObj = img; + } + } + + private void Awake() + { + if (texturableGO.GetComponent() != null) + { + texturableObj = texturableGO.GetComponent().mainTexture; //rawimage + } + + if (texturableGO.GetComponent() != null) + { + texturableObj = texturableGO.GetComponent().material.mainTexture; //texture2d + } + } + } +} diff --git a/Assets/Raindrop/UI/map/MapTileView.cs.meta b/Assets/Raindrop/UI/map/view/MapTileView.cs.meta similarity index 100% rename from Assets/Raindrop/UI/map/MapTileView.cs.meta rename to Assets/Raindrop/UI/map/view/MapTileView.cs.meta diff --git a/Assets/Raindrop/UI/map/view/MapViewer.cs b/Assets/Raindrop/UI/map/view/MapViewer.cs new file mode 100644 index 0000000..0313b35 --- /dev/null +++ b/Assets/Raindrop/UI/map/view/MapViewer.cs @@ -0,0 +1,71 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.IO; +using Better.StreamingAssets; +using System; +using Raindrop; +using UnityEngine.UI; +using Raindrop.Presenters; +using OpenMetaverse; +using Raindrop.Map; +using Raindrop.UI; +using Raindrop.UI.Presenters; + + +// lets you view the maps by choosing parameters. +// use external API. does not need login. + +namespace Raindrop.UI.Views +{ + public class MapViewer : MonoBehaviour + { + + // map manager. keeps track of mapsGOs. creates new mapGOs from prefabs. culls those that are no longer visible. fetches those that need to be viewed. + [SerializeField] + public GameObject mapSceneViewGO; + private MapSceneView mapSceneView; + + + [SerializeField] + public GameObject zoomSliderGO; + private Slider zoomSlider; + + + private MapPresenter presenter; + + + private void Awake() + { + mapSceneView = mapSceneViewGO.GetComponent(); + + //get reference to the view. + zoomSlider = zoomSliderGO.GetComponent(); + if (zoomSlider == null) + { + Debug.LogWarning("slider is fucked"); // fix exception type plz + } + + } + + private void Update() + { + //redrawMap(); + } + + + private void Start() + { + presenter = new MapPresenter(this, mapSceneView); + InvokeRepeating("redrawMap", 5f, 5f); + } + + + private void redrawMap() + { + presenter.onRefresh(); //retrieve tiles and redraw. + } + + + } +} \ No newline at end of file diff --git a/Assets/Raindrop/UI/map/view/MapViewer.cs.meta b/Assets/Raindrop/UI/map/view/MapViewer.cs.meta new file mode 100644 index 0000000..f50fe67 --- /dev/null +++ b/Assets/Raindrop/UI/map/view/MapViewer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 86bd9e369dde9514caa91b4db33a0d55 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Raindrop/UI/screens/MapPresenter.cs b/Assets/Raindrop/UI/screens/MapPresenter.cs deleted file mode 100644 index 2f62063..0000000 --- a/Assets/Raindrop/UI/screens/MapPresenter.cs +++ /dev/null @@ -1,94 +0,0 @@ -using OpenMetaverse; -using OpenMetaverse.StructuredData; -using Raindrop; -using Raindrop.Netcom; -using System.Collections; -using System.Collections.Generic; -using System.ComponentModel; -using UnityEngine; -using System; -using Settings = Raindrop.Settings; -using UnityEngine.UI; -using UniRx; -using TMPro; - - -//view(unitytext) -- presenter(this) -- controller(this?) -- model (raindropinstance singleton) - -public class MapPresenter : MonoBehaviour -{ - - private RaindropInstance instance { get { return ServiceLocator.ServiceLocator.Instance.Get(); } } - private RaindropNetcom netcom { get { return instance.Netcom; } } - bool Active => instance.Client.Network.Connected; - - - #region references to UI elements - public Button ChatButton; - public Button MapButton; - public Image MapPane; - public TMP_Text locationText; - - public Canvas joyCanvas; - - #endregion - - #region internal representations - - - #endregion - - - - - - - #region behavior - - // Use this for initialization - void Start() - { - initialiseFields(); - - ChatButton.onClick.AsObservable().Subscribe(_ => OnChatBtnClick()); //when clicked, runs this method. - MapButton.onClick.AsObservable().Subscribe(_ => OnChatBtnClick()); //when clicked, runs this method. - - } - - - - private void showModal(string v, string message) - { - - Debug.Log("MODAL:\n" + v + "\n" +message); - } - - - - private void initialiseFields() - { - - - } - - public void OnChatBtnClick() - { - //instance.UI.canvasManager.pushCanvas(CanvasType.Chat); - - - } - public void OnMapBtnClick() - { - //instance.UI.canvasManager.pushCanvas(CanvasType.Map); - - - } - - - #endregion - - - - - -} diff --git a/Assets/Raindrop/UI/testing/MapViewer.cs b/Assets/Raindrop/UI/testing/MapViewer_SingleStatic_NoZoom.cs similarity index 82% rename from Assets/Raindrop/UI/testing/MapViewer.cs rename to Assets/Raindrop/UI/testing/MapViewer_SingleStatic_NoZoom.cs index bc4490e..436f7b4 100644 --- a/Assets/Raindrop/UI/testing/MapViewer.cs +++ b/Assets/Raindrop/UI/testing/MapViewer_SingleStatic_NoZoom.cs @@ -9,14 +9,16 @@ using UnityEngine.UI; using Raindrop.Presenters; using OpenMetaverse; using Raindrop.Map; +using Raindrop.Map.Model; +using Raindrop.UI.Views; // lets you view the maps by choosing parameters. // use external API. does not need login. -public class MapViewer : MonoBehaviour +public class MapViewer_SingleStatic_NoZoom : MonoBehaviour { [SerializeField] - public MapLogic.MapFetcher mapFetcher; + public MapBackend mapFetcher; [SerializeField] public GameObject mapTileGO; @@ -28,7 +30,7 @@ public class MapViewer : MonoBehaviour [SerializeField] public GameObject mapMoverGO; - private MapMover mapMover; + private MapLookAt mapMover; private float timeStart; private int imagesCount; @@ -39,7 +41,7 @@ public class MapViewer : MonoBehaviour System.Threading.Timer repaint; private void Awake() { - mapFetcher = new MapLogic.MapFetcher(); + mapFetcher = new MapBackend(); } @@ -64,17 +66,17 @@ public class MapViewer : MonoBehaviour zoomSlider = zoomSliderGO.GetComponent(); if (zoomSlider == null) { - throw new System.Exception("slider is fucked"); // fix exception type plz + Debug.LogWarning("slider is fucked"); // fix exception type plz } //get reference to the view. - mapMover = mapMoverGO.GetComponent(); + mapMover = mapMoverGO.GetComponent(); if (mapMover == null) { throw new System.Exception("mapMoverGO is fucked"); // fix exception type plz } - mapFetcher = new MapLogic.MapFetcher(); + mapFetcher = new MapBackend(); // for testing @@ -89,7 +91,7 @@ public class MapViewer : MonoBehaviour ulong handle = mapMover.GetLookAt(); int zoom = (int)zoomSlider.value; // how 2 convert look at floats into uints? (uints are gridpos * 256) - if (mapFetcher.GetMapTile(handle, 1) == null) //hack for now. + if (mapFetcher.tryGetMapTile(handle, 1) == null) //hack for now. { mapFetcher.GetRegionTileExternal(handle, 1); } @@ -115,7 +117,7 @@ public class MapViewer : MonoBehaviour return; } ulong handle = mapMover.GetLookAt(); - MapTile tex = mapFetcher.GetMapTile(handle, 1); + MapTile tex = mapFetcher.tryGetMapTile(handle, 1); if (tex != null) { diff --git a/Assets/Raindrop/UI/testing/MapViewer.cs.meta b/Assets/Raindrop/UI/testing/MapViewer_SingleStatic_NoZoom.cs.meta similarity index 100% rename from Assets/Raindrop/UI/testing/MapViewer.cs.meta rename to Assets/Raindrop/UI/testing/MapViewer_SingleStatic_NoZoom.cs.meta diff --git a/Assets/Raindrop/UI/testing/TestTextureFetcher.cs b/Assets/Raindrop/UI/testing/TestTextureFetcher.cs index 458d1c2..6eddc23 100644 --- a/Assets/Raindrop/UI/testing/TestTextureFetcher.cs +++ b/Assets/Raindrop/UI/testing/TestTextureFetcher.cs @@ -8,6 +8,7 @@ using System.Threading.Tasks; using UniRx; using UnityEngine; using Raindrop.Map; +using Raindrop.Map.Model; namespace Raindrop { @@ -16,13 +17,13 @@ namespace Raindrop class TestTextureFetcher : MonoBehaviour { [SerializeField] - public MapLogic.MapFetcher mapFetcher; //fetching logic + pooling data here + public MapBackend mapFetcher; //fetching logic + pooling data here private void Awake() { MainThreadDispatcher.Initialize(); - mapFetcher = new MapLogic.MapFetcher(); + mapFetcher = new MapBackend(); } diff --git a/Assets/Raindrop/UI/touch.meta b/Assets/Raindrop/UI/touch.meta new file mode 100644 index 0000000..950acf5 --- /dev/null +++ b/Assets/Raindrop/UI/touch.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cfb5fdbfcfa159443b08cbacfac1818a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Raindrop/UI/touch/PanAndZoomInterpreterModule.cs b/Assets/Raindrop/UI/touch/PanAndZoomInterpreterModule.cs new file mode 100644 index 0000000..c2b4c54 --- /dev/null +++ b/Assets/Raindrop/UI/touch/PanAndZoomInterpreterModule.cs @@ -0,0 +1,117 @@ +using Raindrop.Presenters; +using System; +using System.Collections; +using UnityEngine; +using UnityEngine.InputSystem.EnhancedTouch; +using Touch = UnityEngine.InputSystem.EnhancedTouch.Touch; + + +namespace Raindrop.UI.Views +{ + /// + /// A view that interprets the touch controls. + /// + public class PanAndZoomInterpreterModule : MonoBehaviour + { + [SerializeField] + public GameObject objectToMove; + private MapLookAt mm; + private TouchScreenInteractionInstance fingerInteraction; + + [SerializeField] + public GameObject mapCam; + private Camera cam; + + [SerializeField] + public string layerName = "minimap"; //to project into the 'fake map plane' + + + private Vector3 worldPoint_startPos; + + + void Awake() + { + fingerInteraction = new TouchScreenInteractionInstance(); + + mm = objectToMove.GetComponent(); + cam = mapCam.GetComponent(); + + EnhancedTouchSupport.Enable(); + } + + void Update() + { + fingerInteraction.updateInteractionState(); //get new touch data! + + + if (fingerInteraction.isPan()) + { + var pandelta = fingerInteraction.getPanDelta(); + mm.MoveFloatingLookAt_Relative(pandelta.x, pandelta.y); + } + if (fingerInteraction.isZoom()) + { + var zoomdelta = fingerInteraction.getZoomDelta(); + Debug.Log("2 finger not supported yet!"); + //mm.MoveFloatingLookAt_Relative(pandelta.x, pandelta.y); + } + + if (fingerInteraction.isDifferentInteraction()) + { + //finalise the current-previous interaction. + var pandelta = fingerInteraction.getPanDelta(); + mm.MoveFloatingLookAt_Relative_OnRelease(pandelta.x, pandelta.y); + } + + //if (currentState == InteractionState.pan) + //{ + + // Vector3 ray_touchNow = cam.ScreenToWorldPoint(touchInitialPosition); + // if (isTouchBegan) + // { + // touchInitialPosition = Touch.activeFingers[0].currentTouch.screenPosition; + // worldPoint_startPos = cam.ScreenToWorldPoint(touchInitialPosition); + // } + // else if (isTouchContinue) + // { + + // var touchPresentPosition = Touch.activeFingers[0].currentTouch.screenPosition; + // Vector3 worldPoint_now = cam.ScreenToWorldPoint(touchInitialPosition); + + + // var direction = worldPoint_startPos - worldPoint_now; + // } + // else if (isTouchEnd) + // { + // Debug.Log("finger lifted and data is set."); + // var touchPresentPosition = Touch.activeFingers[0].currentTouch.screenPosition; + // Vector3 worldPoint_now = cam.ScreenToWorldPoint(touchInitialPosition); + + + // var direction = worldPoint_startPos - worldPoint_now; + // mm.MoveFloatingLookAt_Relative_OnRelease(direction.x, direction.z); + // } + + + // Touch activeTouch = Touch.activeFingers[0].currentTouch; + // Debug.Log($"Phase: {activeTouch.phase} | Position: {activeTouch.startScreenPosition}"); + + //} else if (currentState == InteractionState.zoom){ + + // if (Touch.activeFingers[1].currentTouch.isInProgress) + + + // mm.MoveFloatingLookAt_Relative(direction.x, direction.z); + + // Touch activeTouch = Touch.activeFingers[0].currentTouch; + // Debug.Log($"Phase: {activeTouch.phase} | Position: {activeTouch.startScreenPosition}"); + //} + + + return; + + } + + } + +} \ No newline at end of file diff --git a/Assets/Raindrop/UI/touch/PanAndZoomInterpreterModule.cs.meta b/Assets/Raindrop/UI/touch/PanAndZoomInterpreterModule.cs.meta new file mode 100644 index 0000000..d55b421 --- /dev/null +++ b/Assets/Raindrop/UI/touch/PanAndZoomInterpreterModule.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 51e20def85a7f5341a71708d6299025e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Raindrop/UI/touch/TouchScreenInteractionInstance.cs b/Assets/Raindrop/UI/touch/TouchScreenInteractionInstance.cs new file mode 100644 index 0000000..54852f5 --- /dev/null +++ b/Assets/Raindrop/UI/touch/TouchScreenInteractionInstance.cs @@ -0,0 +1,189 @@ +using System.Collections.Generic; +using UnityEngine; +using Touch = UnityEngine.InputSystem.EnhancedTouch.Touch; + +/// +/// A instance of a user interacting with the screen. +/// Responsible for tracking fingers and counting them over their lifecycle. +/// Responsible for providing finger zoom delta and finger move delta. +/// +public class TouchScreenInteractionInstance +{ + // interaction state. + internal enum InteractionType + { + none, //no touch/ more than 2 fingers + zoom, //pinching + pan //single finger. + } + private InteractionType previousType = InteractionType.none; + private bool interactionTypeHasChanged = false; // if pan->zoom / none->zoom, etc. + + // internal memory of touches. + private List initialTouchPositions = new List(); //each finger's first touch position. + private List currentTouchPositions = new List(); + //private Collider touchFocus; //what we think that the user is touching + + public Vector2 oneFingerMoveDelta { get; private set; } + public float twoFingerPinchDelta { get; private set; } + public Vector2 twoFingerMoveDelta { get; private set; } + + /// + /// update the internal status. + /// + public void updateInteractionState() + { + //touch + InteractionType presentType = fingerCountToInteractionType(Touch.activeFingers.Count); + interactionTypeHasChanged = isStateChanged(previousType, presentType); + if (interactionTypeHasChanged) + { + UpdateInitialFingerPositions(); + //getProbableTouchFocus(); + return; + } + else + { + updatePresentFingerPositions(); + updateGlobalAccessibleStates(presentType); + + } + + + + } + + private void updateGlobalAccessibleStates(InteractionType presentType) + { + if (presentType == InteractionType.zoom) + { + twoFingerPinchDelta = Vector2.Distance(initialTouchPositions[0], initialTouchPositions[1]); + Vector2 ave_initial = (initialTouchPositions[0] + initialTouchPositions[1]) / 2; + Vector2 ave_current = (currentTouchPositions[0] + currentTouchPositions[1]) / 2; + + Vector2 direction = initialTouchPositions[0] - currentTouchPositions[0]; + twoFingerMoveDelta = direction; + } + if (presentType == InteractionType.pan) + { + Vector2 direction = initialTouchPositions[0] - currentTouchPositions[0]; + oneFingerMoveDelta = direction; + } + } + + internal InteractionType GetCurrentInteractionState() + { + return previousType; + } + + public bool isDifferentInteraction() + { + return interactionTypeHasChanged; + } + + //private void getProbableTouchFocus() + //{ + // if (Touch.activeFingers.Count == 0) + // { + // touchFocus = null; + // } else + // { + // Vector2 pos = Touch.activeFingers[0].screenPosition; + // touchFocus = pos; + + // worldPoint_startPos = cam.ScreenToWorldPoint(pos); + // } + //} + + private void updatePresentFingerPositions() + { + currentTouchPositions.Clear(); + for (int i = 0; i < Touch.activeFingers.Count; i++) + { + currentTouchPositions.Add(Touch.activeFingers[i].screenPosition); + + } + } + + private void UpdateInitialFingerPositions() + { + initialTouchPositions.Clear(); + for (int i = 0; i < Touch.activeFingers.Count; i++) + { + initialTouchPositions.Add(Touch.activeFingers[i].screenPosition); + } + } + + /// + /// convert numberOfFingers into InteractionState + /// + /// + /// + private InteractionType fingerCountToInteractionType(int fingerCount) + { + switch (fingerCount) + { + case 0: + return InteractionType.none; + case 1: + return InteractionType.pan; + case 2: + return InteractionType.zoom; + default: + return InteractionType.none; + } + + } + + /// + /// get the relative zoom change from present zoom (0). + /// + /// + public float getZoomDelta() + { + return twoFingerPinchDelta; + } + + /// + /// + /// + /// + public bool isZoom() + { + return previousType == InteractionType.zoom; + } + + /// + /// get the relative pan change from present pan (0,0). + /// + /// + public Vector2 getPanDelta() + { + //var direction = touchInitialPosition - worldPoint_now; + return oneFingerMoveDelta; + } + + /// + /// + /// + /// + public bool isPan() + { + return previousType == InteractionType.pan; + } + + + /// + /// Check if internal 'interaction' state is changed. + /// + /// + private bool isStateChanged(InteractionType oldState, InteractionType newState) + { + if (oldState == newState) + { + return false; + } + return true; + } +} + diff --git a/Assets/Raindrop/UI/touch/TouchScreenInteractionInstance.cs.meta b/Assets/Raindrop/UI/touch/TouchScreenInteractionInstance.cs.meta new file mode 100644 index 0000000..79a8d2c --- /dev/null +++ b/Assets/Raindrop/UI/touch/TouchScreenInteractionInstance.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 10d7cc6a624c30140bfad11d6b6298b9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/MapViewerTest_Daboom_Basic.unity b/Assets/Scenes/MapViewerTest_Daboom_Basic.unity new file mode 100644 index 0000000..58b1032 --- /dev/null +++ b/Assets/Scenes/MapViewerTest_Daboom_Basic.unity @@ -0,0 +1,2991 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &10058991 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 10058992} + - component: {fileID: 10058994} + - component: {fileID: 10058993} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &10058992 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 10058991} + 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: [] + m_Father: {fileID: 580839452} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &10058993 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 10058991} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &10058994 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 10058991} + m_CullTransparentMesh: 1 +--- !u!1 &61663731 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 61663732} + - component: {fileID: 61663734} + - component: {fileID: 61663733} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &61663732 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 61663731} + 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: [] + m_Father: {fileID: 2111508551} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &61663733 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 61663731} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &61663734 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 61663731} + m_CullTransparentMesh: 1 +--- !u!1 &82209092 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 82209093} + - component: {fileID: 82209095} + - component: {fileID: 82209094} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &82209093 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 82209092} + 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: [] + m_Father: {fileID: 1717188576} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 12.996216, y: 0} + m_SizeDelta: {x: 45.9923, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &82209094 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 82209092} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &82209095 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 82209092} + m_CullTransparentMesh: 1 +--- !u!1 &126115527 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 126115528} + - component: {fileID: 126115530} + - component: {fileID: 126115529} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &126115528 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126115527} + 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: [] + m_Father: {fileID: 527187305} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &126115529 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126115527} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &126115530 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126115527} + m_CullTransparentMesh: 1 +--- !u!1 &250150713 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 250150714} + - component: {fileID: 250150716} + - component: {fileID: 250150715} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &250150714 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 250150713} + 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: [] + m_Father: {fileID: 1836143118} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &250150715 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 250150713} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Button + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &250150716 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 250150713} + m_CullTransparentMesh: 1 +--- !u!1 &424157930 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 424157932} + - component: {fileID: 424157933} + m_Layer: 0 + m_Name: mainthreaddispatcher + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &424157932 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424157930} + 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: [] + m_Father: {fileID: 0} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &424157933 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424157930} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 166e46cf3e858f546afb5238ba99e9bd, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &455929012 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 455929013} + - component: {fileID: 455929014} + m_Layer: 5 + m_Name: MApMover + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &455929013 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 455929012} + 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: [] + m_Father: {fileID: 2142188249} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &455929014 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 455929012} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c99728517c04bae4ab466165d1e37fd7, type: 3} + m_Name: + m_EditorClassIdentifier: + lookAt_x: 256000 + lookAt_y: 256000 +--- !u!1 &464937087 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 464937088} + m_Layer: 0 + m_Name: AgentLayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &464937088 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 464937087} + 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: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &527187304 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 527187305} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &527187305 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 527187304} + 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: 126115528} + m_Father: {fileID: 1502223182} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &530311108 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 530311109} + m_Layer: 0 + m_Name: //This scene shows a map image. without logging in. + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &530311109 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 530311108} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 960, y: 540, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &555494367 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 555494369} + - component: {fileID: 555494368} + m_Layer: 0 + m_Name: LoggerInit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &555494368 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 555494367} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4295b92364fee74419e76675960a0886, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &555494369 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 555494367} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 522.009, y: 422.6769, z: 15.674927} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &580839451 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 580839452} + - component: {fileID: 580839453} + m_Layer: 5 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &580839452 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 580839451} + 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: 10058992} + - {fileID: 2111508551} + - {fileID: 1137755964} + m_Father: {fileID: 2142188249} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 16, y: -430.18} + m_SizeDelta: {x: 1142.7551, y: 53.6375} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &580839453 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 580839451} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1963481309} + m_FillRect: {fileID: 61663732} + m_HandleRect: {fileID: 1963481308} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 6 + m_WholeNumbers: 1 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &616826257 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 616826258} + - component: {fileID: 616826260} + - component: {fileID: 616826259} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &616826258 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 616826257} + 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: [] + m_Father: {fileID: 1546686510} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &616826259 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 616826257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Next + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &616826260 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 616826257} + m_CullTransparentMesh: 1 +--- !u!1 &631730920 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 631730922} + - component: {fileID: 631730921} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &631730921 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 631730920} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &631730922 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 631730920} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &655540271 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 655540272} + - component: {fileID: 655540274} + - component: {fileID: 655540273} + m_Layer: 6 + m_Name: MinimapAgentIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &655540272 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 655540271} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1192334716} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!23 &655540273 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 655540271} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c0f1901028769ef49ab2ccd58e65e925, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &655540274 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 655540271} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &822830322 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 822830323} + m_Layer: 0 + m_Name: ===Scene2=== + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &822830323 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 822830322} + 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: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &891685171 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 891685174} + - component: {fileID: 891685173} + - component: {fileID: 891685172} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &891685172 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 891685171} + m_Enabled: 1 +--- !u!20 &891685173 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 891685171} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &891685174 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 891685171} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &925210158 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 925210159} + m_Layer: 0 + m_Name: ===Minimap=== + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &925210159 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 925210158} + 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: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &926232951 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 926232952} + - component: {fileID: 926232955} + - component: {fileID: 926232954} + - component: {fileID: 926232953} + m_Layer: 5 + m_Name: RawImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &926232952 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 926232951} + 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: [] + m_Father: {fileID: 2142188249} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.000015259, y: 128} + m_SizeDelta: {x: 748.5878, y: 697.4977} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &926232953 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 926232951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 866e029c2878fad448f745025e9b4341, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &926232954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 926232951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &926232955 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 926232951} + m_CullTransparentMesh: 1 +--- !u!1 &974969034 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 974969038} + - component: {fileID: 974969037} + - component: {fileID: 974969036} + - component: {fileID: 974969035} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &974969035 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 974969034} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &974969036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 974969034} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &974969037 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 974969034} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &974969038 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 974969034} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 2142188249} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1114054337 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1114054338} + - component: {fileID: 1114054340} + - component: {fileID: 1114054339} + m_Layer: 0 + m_Name: MinimapCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1114054338 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1114054337} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 10, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1688778838} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!81 &1114054339 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1114054337} + m_Enabled: 0 +--- !u!20 &1114054340 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1114054337} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: 30.42 + m_CullingMask: + serializedVersion: 2 + m_Bits: 64 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &1135645757 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1135645758} + - component: {fileID: 1135645761} + - component: {fileID: 1135645760} + - component: {fileID: 1135645759} + m_Layer: 5 + m_Name: handleText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1135645758 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1135645757} + 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: [] + m_Father: {fileID: 2142188249} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -295.93, y: 449.0353} + m_SizeDelta: {x: 1066.1, y: 125.9094} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1135645759 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1135645757} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6105e38874b5073449c30ca3f57b4204, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1135645760 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1135645757} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 48.64 + m_fontSizeBase: 48.64 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1135645761 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1135645757} + m_CullTransparentMesh: 1 +--- !u!1 &1137755963 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1137755964} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1137755964 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1137755963} + 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: 1963481308} + m_Father: {fileID: 580839452} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1192334711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1192334716} + - component: {fileID: 1192334715} + - component: {fileID: 1192334714} + - component: {fileID: 1192334713} + - component: {fileID: 1192334712} + m_Layer: 0 + m_Name: MainAgent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1192334712 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1192334711} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5e54be4f9b460e64cbe1a7a1a8f900f9, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!136 &1192334713 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1192334711} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1192334714 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1192334711} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1192334715 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1192334711} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1192334716 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1192334711} + 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: 655540272} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1212501286 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1212501289} + - component: {fileID: 1212501288} + - component: {fileID: 1212501287} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1212501287 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1212501286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1212501288 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1212501286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1212501289 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1212501286} + 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: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1337363389 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1337363390} + - component: {fileID: 1337363392} + - component: {fileID: 1337363391} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1337363390 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1337363389} + 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: [] + m_Father: {fileID: 1815988573} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1337363391 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1337363389} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Prev + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1337363392 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1337363389} + m_CullTransparentMesh: 1 +--- !u!1 &1502223181 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1502223182} + - component: {fileID: 1502223183} + m_Layer: 5 + m_Name: Slider (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1502223182 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1502223181} + 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: 2005382211} + - {fileID: 527187305} + - {fileID: 1717188576} + m_Father: {fileID: 2142188249} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 16, y: -311} + m_SizeDelta: {x: 1142.7551, y: 53.6375} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1502223183 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1502223181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 82209094} + m_FillRect: {fileID: 126115528} + m_HandleRect: {fileID: 82209093} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 6 + m_WholeNumbers: 1 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1546686509 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1546686510} + - component: {fileID: 1546686513} + - component: {fileID: 1546686512} + - component: {fileID: 1546686511} + m_Layer: 5 + m_Name: Next + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1546686510 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546686509} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 3, y: 3, z: 3} + m_Children: + - {fileID: 616826258} + m_Father: {fileID: 2142188249} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 317.12, y: -426.56326} + m_SizeDelta: {x: 160, y: 51.8778} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1546686511 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546686509} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1546686512} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: TGAFileViewer, Assembly-CSharp + m_MethodName: onNextPicture + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1546686512 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546686509} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1546686513 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546686509} + m_CullTransparentMesh: 1 +--- !u!1 &1635998641 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1635998643} + - component: {fileID: 1635998642} + m_Layer: 0 + m_Name: terrain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1635998642 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635998641} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 273bea64f85319b47951a7be20af4cc6, type: 3} + m_Name: + m_EditorClassIdentifier: + Modified: 1 +--- !u!4 &1635998643 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635998641} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 127.15117, y: 32.323757, z: 133.57854} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1688778836 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1688778838} + m_Layer: 0 + m_Name: MapLayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1688778838 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688778836} + 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: 1114054338} + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1717188575 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1717188576} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1717188576 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1717188575} + 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: 82209093} + m_Father: {fileID: 1502223182} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1815988572 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1815988573} + - component: {fileID: 1815988576} + - component: {fileID: 1815988575} + - component: {fileID: 1815988574} + m_Layer: 5 + m_Name: Prev + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1815988573 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1815988572} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 3, y: 3, z: 3} + m_Children: + - {fileID: 1337363390} + m_Father: {fileID: 2142188249} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -228, y: -429.61} + m_SizeDelta: {x: 160, y: 54.7732} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1815988574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1815988572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1815988575} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: TGAFileViewer, Assembly-CSharp + m_MethodName: onPrevPicture + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1815988575 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1815988572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1815988576 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1815988572} + m_CullTransparentMesh: 1 +--- !u!1 &1836143117 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1836143118} + - component: {fileID: 1836143122} + - component: {fileID: 1836143121} + - component: {fileID: 1836143120} + - component: {fileID: 1836143119} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1836143118 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1836143117} + 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: 250150714} + m_Father: {fileID: 2142188249} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -39, y: -311} + m_SizeDelta: {x: 160, y: 101.0829} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1836143119 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1836143117} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d43fa4d05196d7d45b7f29c0fba49650, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1836143120 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1836143117} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1836143121} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1836143119} + m_TargetAssemblyTypeName: Raindrop.TestTextureFetcher, RaindropUnity + m_MethodName: testfetch + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1836143121 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1836143117} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1836143122 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1836143117} + m_CullTransparentMesh: 1 +--- !u!1 &1963481307 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1963481308} + - component: {fileID: 1963481310} + - component: {fileID: 1963481309} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1963481308 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1963481307} + 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: [] + m_Father: {fileID: 1137755964} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 12.996216, y: 0} + m_SizeDelta: {x: 45.9923, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1963481309 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1963481307} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1963481310 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1963481307} + m_CullTransparentMesh: 1 +--- !u!1 &2005382210 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2005382211} + - component: {fileID: 2005382213} + - component: {fileID: 2005382212} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2005382211 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2005382210} + 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: [] + m_Father: {fileID: 1502223182} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2005382212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2005382210} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2005382213 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2005382210} + m_CullTransparentMesh: 1 +--- !u!1 &2111508550 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2111508551} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2111508551 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2111508550} + 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: 61663732} + m_Father: {fileID: 580839452} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2142188248 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2142188249} + - component: {fileID: 2142188252} + - component: {fileID: 2142188251} + - component: {fileID: 2142188250} + m_Layer: 5 + m_Name: MAPiewer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2142188249 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142188248} + 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: 1836143118} + - {fileID: 926232952} + - {fileID: 1546686510} + - {fileID: 1815988573} + - {fileID: 1135645758} + - {fileID: 580839452} + - {fileID: 1502223182} + - {fileID: 455929013} + m_Father: {fileID: 974969038} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2142188250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142188248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94a035e39438d0e48b0e7c85961e829e, type: 3} + m_Name: + m_EditorClassIdentifier: + mapTileGO: {fileID: 926232951} + zoomSliderGO: {fileID: 0} + mapMoverGO: {fileID: 455929012} +--- !u!114 &2142188251 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142188248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2142188252 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2142188248} + m_CullTransparentMesh: 1 diff --git a/Assets/Scenes/MapViewerTest.unity.meta b/Assets/Scenes/MapViewerTest_Daboom_Basic.unity.meta similarity index 100% rename from Assets/Scenes/MapViewerTest.unity.meta rename to Assets/Scenes/MapViewerTest_Daboom_Basic.unity.meta diff --git a/Assets/Scenes/MapViewerTest.unity b/Assets/Scenes/MapViewerTest_Daboom_zoomable.unity similarity index 84% rename from Assets/Scenes/MapViewerTest.unity rename to Assets/Scenes/MapViewerTest_Daboom_zoomable.unity index 7b15d2a..dd123b3 100644 --- a/Assets/Scenes/MapViewerTest.unity +++ b/Assets/Scenes/MapViewerTest_Daboom_zoomable.unity @@ -516,7 +516,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Button + m_text: Reset m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} @@ -604,7 +604,7 @@ GameObject: - component: {fileID: 424157932} - component: {fileID: 424157933} m_Layer: 0 - m_Name: mainthreaddispatcher + m_Name: MainThreadDispatcher m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -636,6 +636,36 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 166e46cf3e858f546afb5238ba99e9bd, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &438293268 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 438293269} + m_Layer: 0 + m_Name: MapsTiles + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &438293269 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 438293268} + 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: [] + m_Father: {fileID: 1688778838} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &442553463 GameObject: m_ObjectHideFlags: 0 @@ -711,56 +741,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 442553463} m_CullTransparentMesh: 1 ---- !u!1 &455929012 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 455929013} - - component: {fileID: 455929014} - m_Layer: 5 - m_Name: MApMover - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &455929013 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 455929012} - 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: [] - m_Father: {fileID: 2142188249} - m_RootOrder: 10 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &455929014 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 455929012} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c99728517c04bae4ab466165d1e37fd7, type: 3} - m_Name: - m_EditorClassIdentifier: - lookAt_x: 256000 - lookAt_y: 256000 --- !u!1 &464937087 GameObject: m_ObjectHideFlags: 0 @@ -932,7 +912,7 @@ RectTransform: - {fileID: 2111508551} - {fileID: 1137755964} m_Father: {fileID: 2142188249} - m_RootOrder: 6 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -990,140 +970,6 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] ---- !u!1 &616826257 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 616826258} - - component: {fileID: 616826260} - - component: {fileID: 616826259} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &616826258 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 616826257} - 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: [] - m_Father: {fileID: 1546686510} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &616826259 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 616826257} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Next - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4281479730 - m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 24 - m_fontSizeBase: 24 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &616826260 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 616826257} - m_CullTransparentMesh: 1 --- !u!1 &631730920 GameObject: m_ObjectHideFlags: 0 @@ -1441,91 +1287,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &926232951 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 926232952} - - component: {fileID: 926232955} - - component: {fileID: 926232954} - - component: {fileID: 926232953} - m_Layer: 5 - m_Name: RawImage - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &926232952 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 926232951} - 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: [] - m_Father: {fileID: 2142188249} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0.000015259, y: 128} - m_SizeDelta: {x: 748.5878, y: 697.4977} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &926232953 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 926232951} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 866e029c2878fad448f745025e9b4341, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &926232954 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 926232951} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Texture: {fileID: 0} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!222 &926232955 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 926232951} - m_CullTransparentMesh: 1 --- !u!1 &974969034 GameObject: m_ObjectHideFlags: 0 @@ -1652,12 +1413,12 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1052896850} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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: [] - m_Father: {fileID: 2142188249} - m_RootOrder: 5 + m_Father: {fileID: 1345265730} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -1784,6 +1545,8 @@ GameObject: - component: {fileID: 1114054338} - component: {fileID: 1114054340} - component: {fileID: 1114054339} + - component: {fileID: 1114054341} + - component: {fileID: 1114054342} m_Layer: 0 m_Name: MinimapCamera m_TagString: Untagged @@ -1799,7 +1562,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1114054337} m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 10, z: 0} + m_LocalPosition: {x: 1000, y: 10, z: 1000} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1688778838} @@ -1840,7 +1603,7 @@ Camera: far clip plane: 1000 field of view: 60 orthographic: 1 - orthographic size: 5 + orthographic size: 1 m_Depth: 30.42 m_CullingMask: serializedVersion: 2 @@ -1856,6 +1619,35 @@ Camera: m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 +--- !u!114 &1114054341 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1114054337} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1f2b9fc291a15c040bb9a8c6e24f30ac, type: 3} + m_Name: + m_EditorClassIdentifier: + lookAt: {fileID: 1777795270} +--- !u!114 &1114054342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1114054337} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 70c86f72b7212fb4a8354a06349ebcec, type: 3} + m_Name: + m_EditorClassIdentifier: + isDownward: 1 + isOrtho: 1 + cameraGO: {fileID: 1114054337} + MapLookAtGO: {fileID: 1777795270} --- !u!1 &1135645757 GameObject: m_ObjectHideFlags: 0 @@ -1869,7 +1661,7 @@ GameObject: - component: {fileID: 1135645760} - component: {fileID: 1135645759} m_Layer: 5 - m_Name: pathText + m_Name: lookAtText m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1887,7 +1679,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2142188249} - m_RootOrder: 4 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -2070,7 +1862,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 2142188249} - m_RootOrder: 7 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -2362,7 +2154,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1337363389 +--- !u!1 &1345265729 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2370,132 +2162,35 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1337363390} - - component: {fileID: 1337363392} - - component: {fileID: 1337363391} + - component: {fileID: 1345265730} m_Layer: 5 - m_Name: Text (TMP) + m_Name: zoomlevel m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1337363390 +--- !u!224 &1345265730 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1337363389} + m_GameObject: {fileID: 1345265729} 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: [] - m_Father: {fileID: 1815988573} - m_RootOrder: 0 + m_Children: + - {fileID: 1052896851} + - {fileID: 1897876176} + m_Father: {fileID: 2142188249} + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1337363391 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1337363389} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: Prev - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4281479730 - m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 24 - m_fontSizeBase: 24 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &1337363392 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1337363389} - m_CullTransparentMesh: 1 --- !u!1 &1502223181 GameObject: m_ObjectHideFlags: 0 @@ -2528,7 +2223,7 @@ RectTransform: - {fileID: 527187305} - {fileID: 1717188576} m_Father: {fileID: 2142188249} - m_RootOrder: 8 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -2586,139 +2281,6 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] ---- !u!1 &1546686509 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1546686510} - - component: {fileID: 1546686513} - - component: {fileID: 1546686512} - - component: {fileID: 1546686511} - m_Layer: 5 - m_Name: Next - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &1546686510 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1546686509} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: - - {fileID: 616826258} - m_Father: {fileID: 2142188249} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 317.12, y: -426.56326} - m_SizeDelta: {x: 160, y: 51.8778} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1546686511 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1546686509} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1546686512} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 0} - m_TargetAssemblyTypeName: TGAFileViewer, Assembly-CSharp - m_MethodName: onNextPicture - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &1546686512 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1546686509} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1546686513 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1546686509} - m_CullTransparentMesh: 1 --- !u!1 &1635998641 GameObject: m_ObjectHideFlags: 0 @@ -2772,6 +2334,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1688778838} + - component: {fileID: 1688778837} m_Layer: 0 m_Name: MapLayer m_TagString: Untagged @@ -2779,6 +2342,25 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!114 &1688778837 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688778836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b1eb66cf6e85f814f8370584e7b8fa03, type: 3} + m_Name: + m_EditorClassIdentifier: + mapPrefab: {fileID: 4388118593235937986, guid: d4486e9d963742a4a8db3b183db0b919, type: 3} + cameraViewGO: {fileID: 1114054337} + max_X: 0 + max_Y: 0 + min_X: 0 + min_Y: 0 + zoomLevel: 0 --- !u!4 &1688778838 Transform: m_ObjectHideFlags: 0 @@ -2791,6 +2373,9 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1114054338} + - {fileID: 2042106682} + - {fileID: 438293269} + - {fileID: 1777795271} m_Father: {fileID: 0} m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -2905,7 +2490,7 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1815988572 +--- !u!1 &1777795270 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2913,131 +2498,86 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1815988573} - - component: {fileID: 1815988576} - - component: {fileID: 1815988575} - - component: {fileID: 1815988574} - m_Layer: 5 - m_Name: Prev + - component: {fileID: 1777795271} + - component: {fileID: 1777795272} + - component: {fileID: 1777795273} + - component: {fileID: 1777795274} + m_Layer: 0 + m_Name: LookAt m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &1815988573 -RectTransform: + m_IsActive: 1 +--- !u!4 &1777795271 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1815988572} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: - - {fileID: 1337363390} - m_Father: {fileID: 2142188249} + m_GameObject: {fileID: 1777795270} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1000, y: 0, z: 1000} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1688778838} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -228, y: -429.61} - m_SizeDelta: {x: 160, y: 54.7732} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1815988574 +--- !u!114 &1777795272 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1815988572} + m_GameObject: {fileID: 1777795270} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Script: {fileID: 11500000, guid: 62bf8cfe3c16b714ab5198060c130f89, type: 3} m_Name: m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1815988575} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 0} - m_TargetAssemblyTypeName: TGAFileViewer, Assembly-CSharp - m_MethodName: onPrevPicture - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &1815988575 + floatingLookAt_x: 1000 + floatingLookAt_y: 1000 + prev_floatingLookAt_x: 1000 + prev_floatingLookAt_y: 1000 +--- !u!114 &1777795273 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1815988572} - m_Enabled: 1 + m_GameObject: {fileID: 1777795270} + m_Enabled: 0 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: 11500000, guid: 51e20def85a7f5341a71708d6299025e, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1815988576 -CanvasRenderer: + objectToMove: {fileID: 1777795270} + mapCam: {fileID: 1114054337} + layerName: minimap +--- !u!114 &1777795274 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1815988572} - m_CullTransparentMesh: 1 + m_GameObject: {fileID: 1777795270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d957520be9765d41b8fdd09c6bafc32, type: 3} + m_Name: + m_EditorClassIdentifier: + maxDistanceForTap: 40 + maxDurationForTap: 0.4 + useMouse: 1 + mouseScrollSpeed: 2 + controlCamera: 1 + cam: {fileID: 1114054340} + ignoreUI: 1 + useBounds: 0 + boundMinX: -150 + boundMaxX: 150 + boundMinY: -150 + boundMaxY: 150 --- !u!1 &1836143117 GameObject: m_ObjectHideFlags: 0 @@ -3052,7 +2592,7 @@ GameObject: - component: {fileID: 1836143120} - component: {fileID: 1836143119} m_Layer: 5 - m_Name: Button + m_Name: ResetButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -3133,19 +2673,7 @@ MonoBehaviour: m_TargetGraphic: {fileID: 1836143121} m_OnClick: m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1836143119} - m_TargetAssemblyTypeName: Raindrop.TestTextureFetcher, RaindropUnity - m_MethodName: testfetch - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 + m_Calls: [] --- !u!114 &1836143121 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3283,15 +2811,15 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1897876175} - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 442553464} - {fileID: 1972450272} - {fileID: 122388698} - m_Father: {fileID: 2142188249} - m_RootOrder: 9 + m_Father: {fileID: 1345265730} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -3535,6 +3063,102 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2005382210} m_CullTransparentMesh: 1 +--- !u!1 &2042106681 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2042106682} + - component: {fileID: 2042106685} + - component: {fileID: 2042106684} + - component: {fileID: 2042106683} + m_Layer: 6 + m_Name: Fake_Plane_collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &2042106682 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2042106681} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1000, y: 1, z: 1000} + m_Children: [] + m_Father: {fileID: 1688778838} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!64 &2042106683 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2042106681} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2042106684 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2042106681} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2042106685 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2042106681} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &2111508550 GameObject: m_ObjectHideFlags: 0 @@ -3584,7 +3208,7 @@ GameObject: - component: {fileID: 2142188251} - component: {fileID: 2142188250} m_Layer: 5 - m_Name: MAPiewer + m_Name: Mapviewer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -3602,16 +3226,11 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1836143118} - - {fileID: 926232952} - - {fileID: 1546686510} - - {fileID: 1815988573} - {fileID: 1135645758} - - {fileID: 1052896851} - {fileID: 580839452} - {fileID: 1152870171} - {fileID: 1502223182} - - {fileID: 1897876176} - - {fileID: 455929013} + - {fileID: 1345265730} m_Father: {fileID: 974969038} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -3629,12 +3248,11 @@ MonoBehaviour: m_GameObject: {fileID: 2142188248} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 94a035e39438d0e48b0e7c85961e829e, type: 3} + m_Script: {fileID: 11500000, guid: 86bd9e369dde9514caa91b4db33a0d55, type: 3} m_Name: m_EditorClassIdentifier: - mapTileGO: {fileID: 926232951} - zoomSliderGO: {fileID: 1897876175} - mapMoverGO: {fileID: 455929012} + mapSceneViewGO: {fileID: 1688778836} + zoomSliderGO: {fileID: 1502223181} --- !u!114 &2142188251 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3642,7 +3260,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2142188248} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: diff --git a/Assets/Scenes/MapViewerTest_Daboom_zoomable.unity.meta b/Assets/Scenes/MapViewerTest_Daboom_zoomable.unity.meta new file mode 100644 index 0000000..90e15b9 --- /dev/null +++ b/Assets/Scenes/MapViewerTest_Daboom_zoomable.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8e1b9a8679fd5b54ea34b1e3781f6c3f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/minimapCamera.cs b/Assets/minimapCamera.cs new file mode 100644 index 0000000..cd9abd9 --- /dev/null +++ b/Assets/minimapCamera.cs @@ -0,0 +1,17 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class minimapCamera : MonoBehaviour +{ + [SerializeField] + public GameObject lookAt; + + + + void Update() + { + Vector3 newpos = new Vector3( lookAt.transform.position.x, this.transform.position.y, lookAt.transform.position.z) ; + this.transform.position = newpos; + } +} diff --git a/Assets/minimapCamera.cs.meta b/Assets/minimapCamera.cs.meta new file mode 100644 index 0000000..79c632e --- /dev/null +++ b/Assets/minimapCamera.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1f2b9fc291a15c040bb9a8c6e24f30ac +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json index 08d171f..4787794 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -7,6 +7,7 @@ "com.unity.ide.rider": "2.0.7", "com.unity.ide.visualstudio": "2.0.11", "com.unity.ide.vscode": "1.2.3", + "com.unity.inputsystem": "1.0.2", "com.unity.jobs": "0.8.0-preview.23", "com.unity.memoryprofiler": "0.2.9-preview.3", "com.unity.test-framework": "1.1.27", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index ad3a271..5b1d360 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -72,6 +72,13 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.inputsystem": { + "version": "1.0.2", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, "com.unity.jobs": { "version": "0.8.0-preview.23", "depth": 0, diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 8e76044..af00c71 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -6,7 +6,7 @@ EditorBuildSettings: serializedVersion: 2 m_Scenes: - enabled: 1 - path: Assets/Scenes/MapViewerTest.unity + path: Assets/Scenes/MapViewerTest_Daboom_Basic.unity guid: 07d358068ee106e4ea7053462a2740f3 - enabled: 1 path: Assets/Scenes/TGALoaderTest.unity diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index e359509..422db09 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -775,7 +775,7 @@ PlayerSettings: m_VersionCode: 1 m_VersionName: apiCompatibilityLevel: 6 - activeInputHandler: 0 + activeInputHandler: 2 cloudProjectId: framebufferDepthMemorylessMode: 0 qualitySettingsNames: []