void OnGUI() { _scrollPosition = GUILayout.BeginScrollView(_scrollPosition, false, true); GUILayout.Label("*********************************************************************"); GUILayout.Label("* LiveUpdate Asset *"); GUILayout.Label("*********************************************************************"); _liveUpdateConfig._platformType = (PlatformType)EditorGUILayout.EnumPopup("PlatformType", _liveUpdateConfig._platformType); _liveUpdateConfig._bundleName = EditorGUILayout.TextField("BundleName", _liveUpdateConfig._bundleName); _liveUpdateConfig._version = EditorGUILayout.TextField("ResourceVersion", _liveUpdateConfig._version); GUILayout.Space(20); GUILayout.Label("Excel File Names:"); for (int i = 0; i < _liveUpdateConfig._excelFileNames.Count; i++) { GUILayout.BeginHorizontal(); _liveUpdateConfig._excelFileNames[i] = EditorGUILayout.TextField("Name:", _liveUpdateConfig._excelFileNames[i]); GUILayout.Space(10); if (GUILayout.Button("-", GUILayout.Width(30))) { _liveUpdateConfig._excelFileNames.RemoveAt(i); i--; } GUILayout.EndHorizontal(); } if (GUILayout.Button("+", GUILayout.Width(30))) { _liveUpdateConfig._excelFileNames.Insert(_liveUpdateConfig._excelFileNames.Count, ""); } GUILayout.Space(20); GUILayout.Label("Resource Paths:"); for (int i = 0; i < _liveUpdateConfig._resourcePaths.Count; i++) { GUILayout.BeginHorizontal(); string path = _liveUpdateConfig._resourcePaths[i]; path = EditorGUILayout.TextField(path, GUILayout.Width(300)); if (string.IsNullOrEmpty(path)) { if (!string.IsNullOrEmpty(_lastResourcePath)) { path = _lastResourcePath; } else { path = BuildAssetBundleHelper.GetDefaultResourcePath(); } } if (GUILayout.Button("...", GUILayout.Width(30))) { string selectPath = BuildAssetBundleHelper.OpenFilePanel(path); if (selectPath.Length != 0) { // the path should be relative not absolute one to make it work on any platform. string trimPath = BuildAssetBundleHelper.TrimToRelativePath(selectPath); if (!string.IsNullOrEmpty(trimPath)) { // set relative path _liveUpdateConfig._resourcePaths[i] = trimPath; _lastResourcePath = trimPath; } else { EditorUtility.DisplayDialog("Error", "Folder should be under 'Assets' folder", "OK"); return; } } } if (GUILayout.Button("-", GUILayout.Width(30))) { _liveUpdateConfig._resourcePaths.RemoveAt(i); } if (GUILayout.Button("+", GUILayout.Width(30))) { _liveUpdateConfig._resourcePaths.Insert(i + 1, ""); } GUILayout.EndHorizontal(); } if (GUILayout.Button("+", GUILayout.Width(30))) { _liveUpdateConfig._resourcePaths.Insert(_liveUpdateConfig._resourcePaths.Count, ""); } GUILayout.Space(20); if (GUILayout.Button("Build LiveUpdate AssetBundles", GUILayout.Width(180.0f))) { BuildLiveUpdateButtonDown(); } GUILayout.Space(20); if (GUILayout.Button("Save config", GUILayout.Width(100))) { BuildAssetBundleHelper.SaveConfigButtonDown(_liveUpdateConfig); } GUILayout.EndScrollView(); }
void OnGUI() { _scrollPosition = GUILayout.BeginScrollView(_scrollPosition, false, true); GUILayout.Label("*********************************************************************"); GUILayout.Label("* Machine Asset *"); GUILayout.Label("*********************************************************************"); _machineConfig._platformType = (PlatformType)EditorGUILayout.EnumPopup("PlatformType", _machineConfig._platformType); GUILayout.Space(20); GUILayout.Label("Machine Names:"); for (int i = 0; i < _machineConfig._machineConfigs.Count; i++) { GUILayoutOption[] options = new GUILayoutOption[] { }; GUILayout.BeginHorizontal(); _machineConfig._machineConfigs[i]._selected = EditorGUILayout.Toggle(_machineConfig._machineConfigs[i]._selected, options); _machineConfig._machineConfigs[i]._name = EditorGUILayout.TextField("Name:", _machineConfig._machineConfigs[i]._name, options); string v = EditorGUILayout.TextField("Version:", _machineConfig._machineConfigs[i]._version, options); int parseVersion = 0; int.TryParse(v, out parseVersion); if (parseVersion > 0) { _machineConfig._machineConfigs[i]._version = v; } else { Debug.LogError("Version should be integer and >0"); } GUILayout.Space(10); if (GUILayout.Button("-", GUILayout.Width(30))) { _machineConfig._machineConfigs.RemoveAt(i); i--; } GUILayout.EndHorizontal(); } if (GUILayout.Button("+", GUILayout.Width(30))) { _machineConfig._machineConfigs.Insert(_machineConfig._machineConfigs.Count, new SingleMachineAssetConfig()); } GUILayout.Space(20); if (GUILayout.Button("Select All", GUILayout.Width(100.0f))) { SelectAllButtonDown(); } if (GUILayout.Button("Deselect All", GUILayout.Width(100.0f))) { DeselectAllButtonDown(); } GUILayout.Space(20); if (GUILayout.Button("Build Machine AssetBundles", GUILayout.Width(180.0f))) { BuildMachineButtonDown(); } GUILayout.Space(20); GUILayout.Label("Upload Setting:"); _machineConfig._isUploadDebugServer = EditorGUILayout.Toggle("Upload debug server", _machineConfig._isUploadDebugServer); _machineConfig._isUploadReleaseServer = EditorGUILayout.Toggle("Upload release server", _machineConfig._isUploadReleaseServer); _machineConfig._isUseVPN = EditorGUILayout.Toggle("Use VPN", _machineConfig._isUseVPN); if (GUILayout.Button("Upload To Server", GUILayout.Width(120))) { UploadMachineButtonDown(); } GUILayout.Space(20); if (GUILayout.Button("Save config", GUILayout.Width(100))) { BuildAssetBundleHelper.SaveConfigButtonDown(_machineConfig); } GUILayout.EndScrollView(); }
void OnGUI() { _scrollPosition = GUILayout.BeginScrollView(_scrollPosition, false, true); GUILayout.Label("*********************************************************************"); GUILayout.Label("* AB Test *"); GUILayout.Label("*********************************************************************"); _abTestConfig._platformType = (PlatformType)EditorGUILayout.EnumPopup("PlatformType", _abTestConfig._platformType); _abTestConfig._bundleName = EditorGUILayout.TextField("BundleName", _abTestConfig._bundleName); _abTestConfig._version = EditorGUILayout.TextField("Version", _abTestConfig._version); GUILayout.Space(20); GUILayout.Label("AB Versions:"); for (int i = 0; i < _abTestConfig._abVersions.Count; i++) { GUILayout.BeginHorizontal(); _abTestConfig._abVersions[i] = EditorGUILayout.TextField("Version:", _abTestConfig._abVersions[i]); string versionName = _abTestConfig._abVersions[i]; GUILayout.Space(10); if (GUILayout.Button("AB -> Project", GUILayout.Width(90))) { BuildTarget target = BuildAssetBundleHelper.GetBuildTarget(_abTestConfig._platformType); if (target != BuildTarget.NoTarget) { ExcelDirType dirType = BuildAssetBundleHelper.GetExcelDirType(target); BuildABTestHelper.CopyABToProject(versionName, dirType); } else { Debug.LogError("Can't copy since platformType is wrong"); } } GUILayout.Space(10); if (GUILayout.Button("-", GUILayout.Width(30))) { _abTestConfig._abVersions.RemoveAt(i); i--; } GUILayout.EndHorizontal(); } if (GUILayout.Button("+", GUILayout.Width(30))) { _abTestConfig._abVersions.Insert(_abTestConfig._abVersions.Count, ""); } GUILayout.Space(20); GUILayout.Label("Excel File Names:"); for (int i = 0; i < _abTestConfig._excelFileNames.Count; i++) { GUILayout.BeginHorizontal(); _abTestConfig._excelFileNames[i] = EditorGUILayout.TextField("Name:", _abTestConfig._excelFileNames[i]); GUILayout.Space(10); if (GUILayout.Button("-", GUILayout.Width(30))) { _abTestConfig._excelFileNames.RemoveAt(i); i--; } GUILayout.EndHorizontal(); } if (GUILayout.Button("+", GUILayout.Width(30))) { _abTestConfig._excelFileNames.Insert(_abTestConfig._excelFileNames.Count, ""); } GUILayout.Space(20); GUILayout.Label("Resource Paths:"); for (int i = 0; i < _abTestConfig._resourcePaths.Count; i++) { GUILayout.BeginHorizontal(); string path = _abTestConfig._resourcePaths[i]; path = EditorGUILayout.TextField(path, GUILayout.Width(300)); if (string.IsNullOrEmpty(path)) { if (!string.IsNullOrEmpty(_lastResourcePath)) { path = _lastResourcePath; } else { path = BuildAssetBundleHelper.GetDefaultResourcePath(); } } if (GUILayout.Button("...", GUILayout.Width(30))) { string selectPath = BuildAssetBundleHelper.OpenFilePanel(path); if (selectPath.Length != 0) { // the path should be relative not absolute one to make it work on any platform. string trimPath = BuildAssetBundleHelper.TrimToRelativePath(selectPath); if (!string.IsNullOrEmpty(trimPath)) { // set relative path _abTestConfig._resourcePaths[i] = trimPath; _lastResourcePath = trimPath; } else { EditorUtility.DisplayDialog("Error", "Folder should be under 'Assets' folder", "OK"); return; } } } if (GUILayout.Button("-", GUILayout.Width(30))) { _abTestConfig._resourcePaths.RemoveAt(i); } if (GUILayout.Button("+", GUILayout.Width(30))) { _abTestConfig._resourcePaths.Insert(i + 1, ""); } GUILayout.EndHorizontal(); } if (GUILayout.Button("+", GUILayout.Width(30))) { _abTestConfig._resourcePaths.Insert(_abTestConfig._resourcePaths.Count, ""); } GUILayout.Space(20); if (GUILayout.Button("Build ABTest AssetBundles", GUILayout.Width(180.0f))) { BuildABTestButtonDown(); } GUILayout.Space(20); if (GUILayout.Button("Save config", GUILayout.Width(100))) { BuildAssetBundleHelper.SaveConfigButtonDown(_abTestConfig); } GUILayout.EndScrollView(); }