public static BacktoryConfig GetOrCreateSettingsAsset()
        {
            string fullPath = Path.Combine(Path.Combine(UnityAssetFolder, BacktoryConfig.BacktorySettingsPath),
                                           BacktoryConfig.BacktorySettingsAssetName + BacktoryConfig.BacktorySettingsAssetExtension);

            BacktoryConfig instance = AssetDatabase.LoadAssetAtPath(fullPath, typeof(BacktoryConfig)) as BacktoryConfig;

            if (instance == null)
            {
                // no asset found, we need to create it.

                if (!Directory.Exists(Path.Combine(UnityAssetFolder, BacktoryConfig.BacktorySettingsPath)))
                {
                    AssetDatabase.CreateFolder(Path.Combine(UnityAssetFolder, "Backtory"), "Resources");
                }

                instance = CreateInstance <BacktoryConfig>();
                AssetDatabase.CreateAsset(instance, fullPath);
                AssetDatabase.SaveAssets();
            }
            return(instance);
        }
        public override void OnInspectorGUI()
        {
            BacktoryConfig settings = (BacktoryConfig)target;

            BacktoryConfig.SetInstance(settings);

            EditorGUILayout.HelpBox("Add the Backtory Api Keys", MessageType.None);

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryAuthInstanceId = EditorGUILayout.TextField(AuthInstanceIdLable, BacktoryConfig.BacktoryAuthInstanceId);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryAuthClientKey = EditorGUILayout.TextField(AuthClientKeyLable, BacktoryConfig.BacktoryAuthClientKey);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryCloudcodeInstanceId = EditorGUILayout.TextField(CloudcodeInstanceIdLable, BacktoryConfig.BacktoryCloudcodeInstanceId);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryGameInstanceId = EditorGUILayout.TextField(GameInstanceIdLable, BacktoryConfig.BacktoryGameInstanceId);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryConnectivityInstanceId = EditorGUILayout.TextField(RealtimeInstanceIdLable, BacktoryConfig.BacktoryConnectivityInstanceId);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Space();



            if (GUI.changed)
            {
                EditorUtility.SetDirty(settings);
                AssetDatabase.SaveAssets();
            }
        }
Пример #3
0
 public static void SetInstance(BacktoryConfig settings)
 {
     instance = settings;
 }
 void OnDisable()
 {
     // make sure the runtime code will load the Asset from Resources when it next tries to access this.
     BacktoryConfig.SetInstance(null);
 }
        public override void OnInspectorGUI()
        {
            BacktoryConfig settings = (BacktoryConfig)target;

            BacktoryConfig.SetInstance(settings);

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField(VersionLabel, GUILayout.Width(EditorGUIUtility.labelWidth));
            EditorGUILayout.LabelField(BacktoryClient.SdkVersion);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Space();


            EditorGUILayout.HelpBox("Copy your application keys from panel and paste them here", MessageType.None);

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryAuthId = EditorGUILayout.TextField(AuthIdLabel, BacktoryConfig.BacktoryAuthId);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryAuthClientKey = EditorGUILayout.TextField(AuthClientKeyLabel, BacktoryConfig.BacktoryAuthClientKey);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryObjectStorageId = EditorGUILayout.TextField(ObjectStorageIdLabel, BacktoryConfig.BacktoryObjectStorageId);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryGameId = EditorGUILayout.TextField(GameIdLabel, BacktoryConfig.BacktoryGameId);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryCloudcodeId = EditorGUILayout.TextField(CloudcodeIdLabel, BacktoryConfig.BacktoryCloudcodeId);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryFileStorageId = EditorGUILayout.TextField(FileStorageIdLabel, BacktoryConfig.BacktoryFileStorageId);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.BacktoryConnectivityId = EditorGUILayout.TextField(ConnectivityIdLabel, BacktoryConfig.BacktoryConnectivityId);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Space();


            EditorGUILayout.HelpBox("Debug settings", MessageType.None);

            BacktoryConfig.SdkDebugMode = EditorGUILayout.Toggle(DebugModeLabel, BacktoryConfig.SdkDebugMode);

            EditorGUI.BeginDisabledGroup(BacktoryConfig.SdkDebugMode == false);
            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.LogLevel = (LogLevel)EditorGUILayout.EnumPopup(LogLevelLabel, BacktoryConfig.LogLevel);
            EditorGUILayout.EndHorizontal();

            EditorGUI.EndDisabledGroup();

            EditorGUILayout.BeginHorizontal();
            BacktoryConfig.ServerDestination = (ServerDestination)EditorGUILayout.EnumPopup(
                ServerDestinationLabel,
                BacktoryConfig.ServerDestination);
            EditorGUILayout.EndHorizontal();

            if (GUI.changed)
            {
                EditorUtility.SetDirty(settings);
                AssetDatabase.SaveAssets();
            }
        }