You've already forked Commercialization.topon
83 lines
2.6 KiB
C#
83 lines
2.6 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text.RegularExpressions;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
using UnityEngine.Serialization;
|
|
|
|
namespace AnyThink.Scripts.Assets
|
|
{
|
|
[Serializable]
|
|
public class SerializableDictionary<TKey, TValue> : Dictionary<TKey, TValue>
|
|
{
|
|
}
|
|
|
|
public class ATConfigAsset2 : ScriptableObject
|
|
{
|
|
public const string SettingsExportPath = "Assets/AnyThinkPlugin/Resources/Assets/ATConfigData.asset";
|
|
|
|
private static ATConfigAsset2 instance;
|
|
|
|
public static ATConfigAsset2 Instance
|
|
{
|
|
get
|
|
{
|
|
if (instance == null)
|
|
{
|
|
string settingsFilePath = SettingsExportPath;
|
|
var settingsDir = Path.GetDirectoryName(settingsFilePath);
|
|
if (!Directory.Exists(settingsDir))
|
|
{
|
|
Directory.CreateDirectory(settingsDir);
|
|
}
|
|
|
|
// instance = AssetDatabase.LoadAssetAtPath<ATConfigAsset>(settingsFilePath);
|
|
instance = Resources.Load<ATConfigAsset2>(settingsFilePath);
|
|
if (instance != null) return instance;
|
|
|
|
instance = CreateInstance<ATConfigAsset2>();
|
|
AssetDatabase.CreateAsset(instance, settingsFilePath);
|
|
}
|
|
|
|
return instance;
|
|
}
|
|
}
|
|
|
|
[SerializeField] SerializableDictionary<string, string> installedNetworkVersion = new SerializableDictionary<string, string>();
|
|
// [SerializeField] string installedNetworkVersionJson = string.Empty;
|
|
[SerializeField] int localCountry = 1;
|
|
|
|
public int LocalCountry
|
|
{
|
|
get { return Instance.localCountry; }
|
|
set { Instance.localCountry = value; }
|
|
}
|
|
|
|
public void saveInstalledNetworkVersion(string key, string version)
|
|
{
|
|
Instance.installedNetworkVersion[key] = version;
|
|
}
|
|
|
|
public void removeInstalledNetworkVersion(string key)
|
|
{
|
|
if (Instance.installedNetworkVersion.ContainsKey(key)) {
|
|
Instance.installedNetworkVersion.Remove(key);
|
|
}
|
|
}
|
|
|
|
public string getInstalledNetworkVersion(string key)
|
|
{
|
|
if (Instance.installedNetworkVersion.ContainsKey(key)) {
|
|
return Instance.installedNetworkVersion[key];
|
|
}
|
|
return "";
|
|
}
|
|
|
|
public void SaveAsync()
|
|
{
|
|
EditorUtility.SetDirty(instance);
|
|
}
|
|
}
|
|
} |