void OnGUI() { SetupStyle(); Config config = Config.Get(); GUILayout.Label("ThryEditor v" + config.verion); GUINotification(); drawLine(); bool hasVRCSdk = System.Type.GetType("VRC.AccountEditorWindow") != null; bool vrcIsLoggedIn = EditorPrefs.HasKey("sdk#username"); if (hasVRCSdk) { vrc_sdk_version = Helper.GetCurrentVRCSDKVersion(); GUILayout.Label("VRC Sdk version: " + vrc_sdk_version); if (vrcIsLoggedIn) { GUILayout.Label("VRChat user: "******"sdk#username")); } drawLine(); } GUIEditor(); drawLine(); GUIExtras(); drawLine(); if (hasVRCSdk) { if (firstLoad) { thry_vrc_tools_installed_version = Helper.FindFileAndReadIntoString(THRY_VRC_TOOLS_VERSION_PATH); has_vrc_tools = System.Type.GetType("Thry.AutoAvatarDescriptor") != null; } if (has_vrc_tools) { GUIVRCToolsOptions(); } drawLine(); if (thry_vrc_tools_version_loaded) { GUIVRCToolsDownloadOptions(has_vrc_tools); } } if (firstLoad) { Helper.getStringFromUrl(THRY_VRC_TOOLS_REPO_URL + THRY_VRC_TOOLS_VERSION_URL, thry_vrc_tools_version_callback); firstLoad = false; } }
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { bool vrcImported = false; foreach (string s in importedAssets) { if (s.Contains("VRCSDK2.dll")) { vrcImported = true; } } bool hasVRCSdk = System.Type.GetType("VRC.AccountEditorWindow") != null; string symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup( BuildTargetGroup.Standalone); if ((vrcImported | hasVRCSdk) && !symbols.Contains("VRC_SDK_EXISTS")) { PlayerSettings.SetScriptingDefineSymbolsForGroup( BuildTargetGroup.Standalone, symbols + ";VRC_SDK_EXISTS"); } else if (!hasVRCSdk && symbols.Contains("VRC_SDK_EXISTS")) { PlayerSettings.SetScriptingDefineSymbolsForGroup( BuildTargetGroup.Standalone, symbols.Replace(";VRC_SDK_EXISTS", "")); } if (vrcImported) { if (thry_vrc_tools_version_loaded) { CheckVRCVersionCallback(""); } else { Helper.getStringFromUrl(THRY_VRC_TOOLS_REPO_URL + THRY_VRC_TOOLS_FILE_LIST_URL, CheckVRCVersionCallback); } } }
public void GUIVRCToolsDownloadOptions(bool tools_installed) { GUILayout.Label("Thry's VRC Tools Installer", EditorStyles.boldLabel); bool needsUpdate = false; if (thry_vrc_tools_version_loaded && has_vrc_tools) { needsUpdate = Helper.compareVersions(thry_vrc_tools_version, thry_vrc_tools_installed_version) == -1; } if (tools_installed && !needsUpdate) { GUILayout.Label("Up to date"); } EditorGUI.BeginDisabledGroup(is_installing_vrc_tools || (tools_installed && !needsUpdate)); GUILayout.BeginHorizontal(); string text = "Install now"; if (tools_installed) { text = "Update"; } if (GUILayout.Button(text, GUILayout.ExpandWidth(false))) { is_installing_vrc_tools = true; Helper.getStringFromUrl(THRY_VRC_TOOLS_REPO_URL + THRY_VRC_TOOLS_FILE_LIST_URL, thry_vrc_tools_file_list_callback); } GUILayout.Label("(v" + thry_vrc_tools_version + ", vrc_sdk_versions: " + thry_vrc_tools_vrc_sdk_versions_string + ")", GUILayout.ExpandWidth(false)); GUILayout.EndHorizontal(); GUILayout.Label("Includes: "); GUILayout.Label(" - VRC Content Manager with search function, sorting function and tags for avatars"); GUILayout.Label(" - VRC Auto Avatar descriptor: automatically fill out your avatar descriptor"); EditorGUI.EndDisabledGroup(); }