void Awake() { sdkConfigPrefabPath = PlayerPrefs.GetString ("SdkConfigPrefabPath"); if(string.IsNullOrEmpty(sdkConfigPrefabPath)) return; SDKConfig ob = AssetDatabase.LoadAssetAtPath(sdkConfigPrefabPath , typeof(SDKConfig)) as SDKConfig; if(ob != null) { sdkConfigPrefab = ob; } }
// Use this for initialization void Start() { SDKConfig cfg = new SDKConfig(); cfg.apiKey="<the-api-key>"; cfg.serverMode = ServerMode.Test; cfg.clientId = "<the-game-id>"; UXV.Init(cfg, delegate(Session s) { Debug.Log ("[UXvibe] Started a session: " + s); EventManager.Instance.SetInitializedFlag(); }, delegate(int reason) { Debug.Log ("[UXvibe] OnError, Reason=" + reason); } ); }
void OnGUI() { showAndroid = EditorGUILayout.Foldout (showAndroid, "Android"); if(showAndroid) { buildType = (BuildType)EditorGUILayout.EnumPopup("Build Type", buildType); EditorGUILayout.BeginHorizontal(); { EditorGUILayout.PrefixLabel("SDkConfigPrefab"); sdkConfigPrefab = EditorGUILayout.ObjectField(sdkConfigPrefab , typeof(SDKConfig) , false) as SDKConfig; } EditorGUILayout.EndHorizontal(); if(sdkConfigPrefab == null) { EditorGUILayout.LabelField("SDkConfigPrefab is null, please select SDkConfigPrefab!!!"); return; } allSDKSelected = EditorGUILayout.BeginToggleGroup("SDK List", allSDKSelected); foreach(var detail in sdkConfigPrefab.SDKList) { if(sdkSelectList.ContainsKey((int)detail.SdkType)) { sdkSelectList[(int)detail.SdkType] = ShowSDKAssetPath(detail, sdkSelectList[(int)detail.SdkType]); } else { sdkSelectList.Add((int)detail.SdkType, ShowSDKAssetPath(detail, false)); } } EditorGUILayout.BeginHorizontal(); if(GUILayout.Button("Select All")) { List<int> buffer = new List<int>(sdkSelectList.Keys); foreach(var val in buffer) { sdkSelectList[val] = true; } } if(GUILayout.Button("Select Empty")) { List<int> buffer = new List<int>(sdkSelectList.Keys); foreach(var val in buffer) { sdkSelectList[val] = false; } } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndToggleGroup(); if(GUILayout.Button("Build_Android")) { if(BuildTarget.Android != EditorUserBuildSettings.activeBuildTarget) { EditorGUILayout.LabelField("Warning :","It Needs A Long-Time For Convert Assets !!!"); } } } }
void PutSDK(string filePath, SDKInfo info, ChannelInfo channelInfo) { SDKConfig config = EditorData.TotalSDKInfo.GetSDKConfig(info.sdkName); //添加Jar OutPut("添加Jar " + info.sdkName); PutJar(filePath, info); //手动移除无法编译通过的字段 RemoveErrordManifest(filePath); //自动编译类 if (config.useCustomJavaClass) { OutPut("自动编译 "); compileTool.Compile(config, channelInfo, filePath); } //拷贝资源文件 OutPut("拷贝资源文件 " + info.sdkName); CopyFile(filePath, info, channelInfo); //添加标签头 for (int i = 0; i < config.XmlHeadList.Count; i++) { OutPut("添加AddXMLHead " + info.sdkName + " " + config.ActivityInfoList[i].name); AddXMLHead(filePath, config.XmlHeadList[i], info, channelInfo); } //添加Activity for (int i = 0; i < config.ActivityInfoList.Count; i++) { OutPut("添加Activity " + info.sdkName + " " + config.ActivityInfoList[i].name); AddActivity(filePath, config.ActivityInfoList[i], info, channelInfo); } //添加MainActivityProperty for (int i = 0; i < config.mainActivityPropertyList.Count; i++) { OutPut("添加mainActivityProperty " + info.sdkName + " " + config.mainActivityPropertyList[i].key); AddMainActivityProperty(filePath, config.mainActivityPropertyList[i], info, channelInfo); } //添加Service for (int i = 0; i < config.serviceInfoList.Count; i++) { OutPut("添加Service " + info.sdkName + " " + config.serviceInfoList[i].name); AddService(filePath, config.serviceInfoList[i], channelInfo, info); } //添加Provider for (int i = 0; i < config.providerInfoList.Count; i++) { OutPut("添加Provider " + info.sdkName + " " + config.providerInfoList[i].name); AddProvider(filePath, config.providerInfoList[i], channelInfo, info); } //添加Meta字段 for (int i = 0; i < config.metaInfoList.Count; i++) { OutPut("添加Meta " + info.sdkName + " " + config.metaInfoList[i].key); AddMeta(filePath, config.metaInfoList[i], channelInfo, info); } //添加Uses字段 for (int i = 0; i < config.usesList.Count; i++) { OutPut("添加Uses " + info.sdkName + " " + config.usesList[i].key); AddUses(filePath, config.usesList[i], channelInfo, info); } //修改ApplicationName if (!string.IsNullOrEmpty(config.ApplicationName)) { OutPut("修改ApplicationName " + config.ApplicationName); ChangeApplicationName(filePath, config.ApplicationName); } //添加配置文件 OutPut("添加配置文件 " + info.sdkName); SaveSDKConfigFile(filePath, info); }