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(); } }
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(); } }