chicken_dy/Assets/TKGSDK/Editor/ToukaEditor.cs

208 lines
6.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using System;
using System.IO;
using System.Text;
namespace Touka
{
public class ToukaEditor
{
static string assetPath = Application.dataPath;
static string maxPath = assetPath + "/Plugins/ToukaGames/ADSSDK/MAXSDKs";
static string toponPath = assetPath + "/Plugins/ToukaGames/ADSSDK/ToponSDK";
static string maxPathX = assetPath + "/Plugins/ToukaGames/ADSSDK/MAXSDKs~";
static string toponPathX = assetPath + "/Plugins/ToukaGames/ADSSDK/ToponSDK~";
[MenuItem("ToukaGames/ClearPlayerPrefs", priority = 1)]
public static void ClearPlayerPrefs()
{
PlayerPrefs.DeleteAll();
PlayerPrefs.Save();
}
[MenuItem("ToukaGames/Settings For IOS CN", priority=1001)]
public static void SetIOSCNTOPONSeting()
{
#if UNITY_IOS
SetAPPSetting(AppChannel.AppStore_CN);
#endif
}
[MenuItem("ToukaGames/Settings For Android CN", priority = 1002)]
public static void SetAndroidCNSeting()
{
#if UNITY_ANDROID
SetAPPSetting(AppChannel.GW002);
#endif
}
[MenuItem("ToukaGames/Settings For IOS GB", priority = 10001)]
public static void SetIOSUSSeting()
{
#if UNITY_IOS
SetAPPSetting(AppChannel.AppStore_GB);
#endif
}
[MenuItem("ToukaGames/Settings For Android GB", priority = 10002)]
public static void SetAndroidGPSeting()
{
#if UNITY_ANDROID
SetAPPSetting(AppChannel.GooglePlay);
#endif
}
#region inner
/// <summary>
/// Set APP Setting
/// </summary>
/// <param name="_appChannelSymbol"></param>
public static void SetAPPSetting(AppChannel _appChannel)
{
Debug.Log("SetAPPSetting _appChannel : " + _appChannel);
#if UNITY_IOS
// bundle id
if(_appChannel == AppChannel.AppStore_CN || _appChannel == AppChannel.AppStore_GB)
{
Debug.Log("SetAPPSetting 01 ----- _AppChannelSymbol : " + _appChannel);
PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.iOS, TKGLoadConfig.GetConfigByKey(ConfigKeys.KEY_BunldId, _appChannel));
}
#endif
#if UNITY_ANDROID
Debug.Log("SetAPPSetting 02 android ----- _AppChannelSymbol : " + _appChannel);
PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, TKGLoadConfig.GetConfigByKey(ConfigKeys.KEY_BunldId, _appChannel));
#endif
// game name
PlayerSettings.productName = TKGLoadConfig.GetConfigByKey(ConfigKeys.KEY_AppName, _appChannel);
Debug.Log("productName : " + PlayerSettings.productName);
// ScriptingDefineSymbols & ads sdks
ChangeDefineSymbols(_appChannel);
}
/// <summary>
/// change define symbols
/// </summary>
/// <param name="_isCN"></param>
private static void ChangeDefineSymbols(AppChannel _appChannel)
{
BuildTargetGroup buildTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
string symbolsStr = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup);
Debug.Log("symbolsStr : " + symbolsStr);
string[] symbols = symbolsStr.Split(';');
HashSet<string> symbolSet = new HashSet<string>();
for (int i = 0; i < symbols.Length; ++i)
{
if (!symbolSet.Contains(symbols[i]))
{
symbolSet.Add(symbols[i]);
}
}
// remove all
if (symbolSet.Contains(AppChannel.AppStore_CN.ToString()))
{
symbolSet.Remove(AppChannel.AppStore_CN.ToString());
}
if (symbolSet.Contains(AppChannel.AppStore_GB.ToString()))
{
symbolSet.Remove(AppChannel.AppStore_GB.ToString());
}
if (symbolSet.Contains(AppChannel.GooglePlay.ToString()))
{
symbolSet.Remove(AppChannel.GooglePlay.ToString());
}
if (symbolSet.Contains(AppChannel.GW002.ToString()))
{
symbolSet.Remove(AppChannel.GW002.ToString());
}
// set new
if (_appChannel == AppChannel.AppStore_GB || _appChannel == AppChannel.GooglePlay)
{
symbolSet.Add(_appChannel.ToString());
}
// save data
StringBuilder sb = new StringBuilder();
foreach (string s in symbolSet)
{
sb.Append(s + ";");
}
PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, sb.ToString());
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
}
/// <summary>
/// SeIOSSDKDir
/// </summary>
/// <param name="_AppChannelSymbol"></param>
private static void SeIOSSDKDir(AppChannel _AppChannelSymbol)
{
if (_AppChannelSymbol == AppChannel.AppStore_CN) // iOS CN
{
if (Directory.Exists(maxPath))
{
ChangePathName(maxPath, maxPathX);
}
if (!Directory.Exists(toponPath))
{
if (Directory.Exists(toponPathX))
{
ChangePathName(toponPathX, toponPath);
}
}
}
else if (_AppChannelSymbol == AppChannel.AppStore_GB) // iOS GB
{
if (Directory.Exists(toponPath))
{
ChangePathName(toponPath, toponPathX);
}
if (!Directory.Exists(maxPath))
{
if (Directory.Exists(maxPathX))
{
ChangePathName(maxPathX, maxPath);
}
}
}
else
{
TKGDebugger.LogDebug("other channel");
}
}
/// <summary>
/// change path name
/// </summary>
/// <param name="_oldPath"></param>
/// <param name="_newPath"></param>
private static void ChangePathName(string _oldPath, string _newPath)
{
System.IO.File.Move(_oldPath, _newPath);
}
#endregion
}
}