208 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			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
 | |
|     }
 | |
| } |