66 lines
2.3 KiB
C#
66 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using UnityEngine;
|
|
using UnityEditor;
|
|
using TapjoyUnity.Internal;
|
|
|
|
namespace TapjoyEditor {
|
|
|
|
public static class TapjoySettingsEditor {
|
|
private const string TAPJOY_SETTINGS_DIRECTORY = "Assets/Settings/";
|
|
private const string ASSETS_DIRECTORY = "Assets";
|
|
private const string SETTINGS = "TapjoySettings.asset";
|
|
|
|
public static TapjoySettings CreateEmptySettings() {
|
|
TapjoySettings settings = (ScriptableObject.CreateInstance(typeof(TapjoySettings)) as TapjoySettings);
|
|
try {
|
|
Debug.Log("Creating new Settings.asset");
|
|
string assetPath = String.Format("{0}{1}", TAPJOY_SETTINGS_DIRECTORY,SETTINGS);
|
|
AssetDatabase.CreateAsset(settings, assetPath);
|
|
settings = (AssetDatabase.LoadAssetAtPath(assetPath, typeof(TapjoySettings)) as TapjoySettings);
|
|
} catch (UnityException) {
|
|
Debug.LogError("Failed to create the Tapjoy Settings asset.");
|
|
}
|
|
return settings;
|
|
}
|
|
|
|
public static TapjoySettings Load() {
|
|
// Ensure the TapjoySDK directory exists
|
|
if (!Directory.Exists(TAPJOY_SETTINGS_DIRECTORY)) {
|
|
Debug.Log("TapjoySDK directory does not exist. Creating it now.");
|
|
Directory.CreateDirectory(TAPJOY_SETTINGS_DIRECTORY);
|
|
AssetDatabase.Refresh(); // Refresh the asset database to recognize the new directory
|
|
}
|
|
|
|
//Search for Tapjoy Settings.asset folders in order. Returns GUID's
|
|
string[] results = AssetDatabase.FindAssets("Settings", new string[] { TAPJOY_SETTINGS_DIRECTORY, ASSETS_DIRECTORY });
|
|
|
|
TapjoySettings settings = null;
|
|
foreach (string guid in results)
|
|
{
|
|
string path = AssetDatabase.GUIDToAssetPath(guid);
|
|
|
|
//Check if asset is Tapjoy Settings.asset
|
|
settings = (AssetDatabase.LoadAssetAtPath(path, typeof(TapjoySettings)) as TapjoySettings);
|
|
if (settings != null)
|
|
{
|
|
Debug.Log("Using Tapjoy Settings: " + path);
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (settings == null) {
|
|
settings = CreateEmptySettings();
|
|
}
|
|
return settings;
|
|
}
|
|
|
|
public static void Save(TapjoySettings settings) {
|
|
EditorUtility.SetDirty(settings);
|
|
AssetDatabase.SaveAssets();
|
|
settings.Dirty = false;
|
|
}
|
|
}
|
|
}
|