private void OnEnable() { #if UNITY_EDITOR EditorApplication.update += CheckScriptCompiling; #endif _instance = this; tooltipDrawer = new OnlineMapsGUITooltipDrawer(this); activeType = OnlineMapsProvider.FindMapType(mapType); _mapType = mapType = activeType.fullID; trafficProvider = OnlineMapsTrafficProvider.GetByID(trafficProviderID); if (language == "") { language = activeType.provider.twoLetterLanguage ? "en" : "eng"; } _language = language; _labels = labels; _traffic = traffic; _trafficProviderID = trafficProviderID; izoom = (int)_zoom; UpdateCorners(); }
public OnlineMapsRasterTile(int x, int y, int zoom, OnlineMaps map, bool isMapTile = true) : base(x, y, zoom, map, isMapTile) { _trafficProvider = map.trafficProvider; mapType = map.activeType; labels = map.labels; language = map.language; }
public OnlineMapsTile(int x, int y, int zoom, OnlineMaps map, bool isMapTile = true) { if (unusedTiles == null) { unusedTiles = new List <OnlineMapsTile>(); } int maxX = 2 << (zoom - 1); if (x < 0) { x += maxX; } else if (x >= maxX) { x -= maxX; } this.x = x; this.y = y; this.zoom = zoom; OnlineMapsTile.map = map; this.isMapTile = isMapTile; mapType = map.activeType; _trafficProvider = map.trafficProvider; labels = map.labels; language = map.language; double tlx, tly, brx, bry; map.projection.TileToCoordinates(x, y, zoom, out tlx, out tly); map.projection.TileToCoordinates(x + 1, y + 1, zoom, out brx, out bry); topLeft = new Vector2((float)tlx, (float)tly); bottomRight = new Vector2((float)brx, (float)bry); globalPosition = Vector2.Lerp(topLeft, bottomRight, 0.5f); key = GetTileKey(zoom, x, y); if (isMapTile) { tiles.Add(this); if (dTiles.ContainsKey(key)) { dTiles[key] = this; } else { dTiles.Add(key, this); } } }
private void OnEnable() { try { CacheSerializedProperties(); map = (OnlineMaps)target; control = map.GetComponent <OnlineMapsControlBase>(); savableItems = map.GetComponents <IOnlineMapsSavableComponent>().SelectMany(c => c.GetSavableItems()).OrderByDescending(s => s.priority).ThenBy(s => s.label).ToList(); providers = OnlineMapsProvider.GetProviders(); providersTitle = providers.Select(p => p.title).ToArray(); trafficProviders = OnlineMapsTrafficProvider.GetProviders(); cTrafficProviders = trafficProviders.Select(p => new GUIContent(p.title)).ToArray(); trafficProviderIndex = 0; for (int i = 0; i < trafficProviders.Length; i++) { if (trafficProviders[i].id == pTrafficProviderID.stringValue) { trafficProviderIndex = i; break; } } if (pTooltipTexture.objectReferenceValue == null) { pTooltipTexture.objectReferenceValue = OnlineMapsEditorUtils.LoadAsset <Texture2D>("Textures\\Tooltip.psd"); } updateAvailableContent = new GUIContent("Update Available", OnlineMapsEditorUtils.LoadAsset <Texture2D>("Icons\\update_available.png"), "Update Available"); wizardIconContent = new GUIContent(OnlineMapsEditorUtils.LoadAsset <Texture2D>("Icons\\WizardIcon.png"), "Wizard"); OnlineMapsUpdater.CheckNewVersionAvailable(); mapType = OnlineMapsProvider.FindMapType(pMapType.stringValue); providerIndex = mapType.provider.index; serializedObject.ApplyModifiedProperties(); map.floatZoom = map.CheckMapSize(map.floatZoom); } catch (Exception e) { Debug.Log(e.Message + "\n" + e.StackTrace); //throw; } }
private void OnEnable() { CacheSerializedProperties(); api = (OnlineMaps)target; providers = OnlineMapsProvider.GetProviders(); providersTitle = providers.Select(p => p.title).ToArray(); if (string.IsNullOrEmpty(pMapType.stringValue)) { pMapType.stringValue = OnlineMapsProvider.Upgrade(pProvider.enumValueIndex, pType.intValue); } trafficProviders = OnlineMapsTrafficProvider.GetProviders(); cTrafficProviders = trafficProviders.Select(p => new GUIContent(p.title)).ToArray(); trafficProviderIndex = 0; for (int i = 0; i < trafficProviders.Length; i++) { if (trafficProviders[i].id == pTrafficProviderID.stringValue) { trafficProviderIndex = i; break; } } if (pDefaultMarkerTexture.objectReferenceValue == null) { pDefaultMarkerTexture.objectReferenceValue = OnlineMapsEditorUtils.LoadAsset <Texture2D>("Textures\\Markers\\DefaultMarker.png"); } if (pTooltipTexture.objectReferenceValue == null) { pTooltipTexture.objectReferenceValue = OnlineMapsEditorUtils.LoadAsset <Texture2D>("Textures\\Tooltip.psd"); } updateAvailableContent = new GUIContent("Update Available", OnlineMapsEditorUtils.LoadAsset <Texture2D>("Icons\\update_available.png"), "Update Available"); wizardIconContent = new GUIContent(OnlineMapsEditorUtils.LoadAsset <Texture2D>("Icons\\WizardIcon.png"), "Wizard"); OnlineMapsUpdater.CheckNewVersionAvailable(); mapType = OnlineMapsProvider.FindMapType(pMapType.stringValue); providerIndex = mapType.provider.index; serializedObject.ApplyModifiedProperties(); }
private void CheckBaseProps() { if (mapType != _mapType) { activeType = OnlineMapsProvider.FindMapType(mapType); _mapType = mapType = activeType.fullID; if (_buffer != null) { _buffer.UnloadOldTypes(); } Redraw(); } if (_language != language || _labels != labels) { _labels = labels; _language = language; if (_buffer != null) { _buffer.Dispose(); _buffer = null; #if NETFX_CORE if (renderThread != null) { renderThread.Dispose(); } #endif #if !UNITY_WEBGL renderThread = null; #endif } Redraw(); } if (traffic != _traffic || trafficProviderID != _trafficProviderID) { _traffic = traffic; _trafficProviderID = trafficProviderID; trafficProvider = OnlineMapsTrafficProvider.GetByID(trafficProviderID); OnlineMapsTile[] tiles; lock (OnlineMapsTile.lockTiles) { tiles = OnlineMapsTile.tiles.ToArray(); } if (traffic) { foreach (OnlineMapsTile tile in tiles) { OnlineMapsRasterTile rTile = tile as OnlineMapsRasterTile; rTile.trafficProvider = trafficProvider; rTile.trafficWWW = new OnlineMapsWWW(rTile.trafficURL); rTile.trafficWWW["tile"] = tile; rTile.trafficWWW.OnComplete += OnlineMapsTileManager.OnTrafficWWWComplete; if (rTile.trafficTexture != null) { OnlineMapsUtils.Destroy(rTile.trafficTexture); rTile.trafficTexture = null; } } } else { foreach (OnlineMapsTile tile in tiles) { OnlineMapsRasterTile rTile = tile as OnlineMapsRasterTile; if (rTile.trafficTexture != null) { OnlineMapsUtils.Destroy(rTile.trafficTexture); rTile.trafficTexture = null; } rTile.trafficWWW = null; } } Redraw(); } }