static void Init()
        {
            Runnable.EnableRunnableInEditor();

            _configurationFile = Path.Combine(Unity.Constants.Path.MAPBOX_RESOURCES_ABSOLUTE, Unity.Constants.Path.CONFIG_FILE);

            if (!Directory.Exists(Unity.Constants.Path.MAPBOX_RESOURCES_ABSOLUTE))
            {
                Directory.CreateDirectory(Unity.Constants.Path.MAPBOX_RESOURCES_ABSOLUTE);
            }
            if (!File.Exists(_configurationFile))
            {
                var json = JsonUtility.ToJson(new MapboxConfiguration {
                    AccessToken = "", MemoryCacheSize = (uint)_memoryCacheSize, MbTilesCacheSize = (uint)_mbtilesCacheSize, DefaultTimeout = _webRequestTimeout
                });
                File.WriteAllText(_configurationFile, json);
            }

            var configurationJson = File.ReadAllText(_configurationFile);

            _mapboxConfiguration = JsonUtility.FromJson <MapboxConfiguration>(configurationJson);

            _accessToken       = _mapboxConfiguration.AccessToken;
            _memoryCacheSize   = (int)_mapboxConfiguration.MemoryCacheSize;
            _mbtilesCacheSize  = (int)_mapboxConfiguration.MbTilesCacheSize;
            _webRequestTimeout = _mapboxConfiguration.DefaultTimeout;

            var editorWindow = GetWindow(typeof(MapboxConfigurationWindow));

            editorWindow.minSize = new Vector2(900, 200);
            editorWindow.Show();
        }
        static void Init()
        {
            Runnable.EnableRunnableInEditor();

            //verify that the config file exists
            _configurationFile = Path.Combine(Unity.Constants.Path.MAPBOX_RESOURCES_ABSOLUTE, Unity.Constants.Path.CONFIG_FILE);
            if (!Directory.Exists(Unity.Constants.Path.MAPBOX_RESOURCES_ABSOLUTE))
            {
                Directory.CreateDirectory(Unity.Constants.Path.MAPBOX_RESOURCES_ABSOLUTE);
            }

            if (!File.Exists(_configurationFile))
            {
                _mapboxConfig = new MapboxConfiguration
                {
                    AccessToken      = _accessToken,
                    MemoryCacheSize  = (uint)_memoryCacheSize,
                    FileCacheSize    = (uint)_fileCacheSize,
                    AutoRefreshCache = _autoRefreshCache,
                    DefaultTimeout   = _webRequestTimeout
                };
                var json = JsonUtility.ToJson(_mapboxConfig);
                File.WriteAllText(_configurationFile, json);
                AssetDatabase.Refresh();
            }

            //finish opening the window after the assetdatabase is refreshed.
            EditorApplication.delayCall += OpenWindow;
        }
예제 #3
0
        /// <summary>
        /// Mapbox access
        /// </summary>
        private static void SubmitConfiguration()
        {
            var mapboxConfiguration = new MapboxConfiguration
            {
                AccessToken      = _accessToken,
                MemoryCacheSize  = (uint)_memoryCacheSize,
                MbTilesCacheSize = (uint)_mbtilesCacheSize,
                DefaultTimeout   = _webRequestTimeout
            };

            _mapboxAccess.SetConfiguration(mapboxConfiguration, false);
            _validating = true;
        }
        void SaveConfiguration()
        {
            var configuration = new MapboxConfiguration
            {
                AccessToken      = _accessToken,
                MemoryCacheSize  = (uint)_memoryCacheSize,
                MbTilesCacheSize = (uint)_mbtilesCacheSize,
                DefaultTimeout   = _webRequestTimeout,
            };

            var json = JsonUtility.ToJson(configuration);

            File.WriteAllText(_configurationFile, json);
            MapboxAccess.Instance.SetConfiguration(configuration);

            Repaint();
            AssetDatabase.Refresh();
        }
        static void OpenWindow()
        {
            EditorApplication.delayCall -= OpenWindow;

            //setup mapboxaccess listener
            _mapboxAccess = MapboxAccess.Instance;
            if (!_listeningForTokenValidation)
            {
                _mapboxAccess.OnTokenValidation += HandleValidationResponse;
                _listeningForTokenValidation     = true;
            }

            //setup local variables from mapbox config file
            _mapboxConfig = _mapboxAccess.Configuration;
            if (_mapboxConfig != null)
            {
                _accessToken       = _mapboxConfig.AccessToken;
                _memoryCacheSize   = (int)_mapboxConfig.MemoryCacheSize;
                _fileCacheSize     = (int)_mapboxConfig.FileCacheSize;
                _autoRefreshCache  = _mapboxConfig.AutoRefreshCache;
                _webRequestTimeout = (int)_mapboxConfig.DefaultTimeout;
            }

            //validate current config
            if (!string.IsNullOrEmpty(_accessToken))
            {
                SubmitConfiguration();
            }

            //cache sample scene gui content
            GetSceneList();
            _selectedSample = -1;

            //instantiate the config window
            instance              = GetWindow(typeof(MapboxConfigurationWindow)) as MapboxConfigurationWindow;
            instance.minSize      = new Vector2(800, 350);
            instance.titleContent = new GUIContent("Mapbox Setup");
            instance.Show();
        }