diff --git a/Editor/Resources/Builder/BuilderWindow.cs b/Editor/Resources/Builder/BuilderWindow.cs index c5e8c1a8..40306e82 100644 --- a/Editor/Resources/Builder/BuilderWindow.cs +++ b/Editor/Resources/Builder/BuilderWindow.cs @@ -12,7 +12,8 @@ using Banter.SDKEditor; using Unity.EditorCoroutines.Editor; using System.Collections; -using UnityEngine.Networking; +using System.Net.Http; +using System.Text; using UnityEditor.UIElements; using System.Text.RegularExpressions; using UnityEditor.SceneManagement; @@ -49,6 +50,8 @@ public class KitObjectAndPath public class BuilderWindow : EditorWindow { + private static readonly HttpClient _httpClient = new HttpClient(); + [SerializeField] private VisualTreeAsset _mainWindowVisualTree = default; [SerializeField] private StyleSheet _mainWindowStyleSheet = default; @@ -372,18 +375,12 @@ void ShowHideBuildButton() public IEnumerator Texture(string url, Action callback) { - using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture(url)) - { - yield return uwr.SendWebRequest(); - if (uwr.result != UnityWebRequest.Result.Success) - { - throw new System.Exception(uwr.error); - } - else - { - callback(DownloadHandlerTexture.GetContent(uwr)); - } - } + var task = _httpClient.GetByteArrayAsync(url); + while (!task.IsCompleted) yield return null; + if (task.IsFaulted) throw task.Exception.InnerException ?? task.Exception; + var tex = new Texture2D(1, 1); + tex.LoadImage(task.Result); + callback(tex); } void SelectKit(int selectedIndex) { @@ -1191,39 +1188,46 @@ private void SetupUI() } public IEnumerator Json(string url, Action callback) { - UnityWebRequest uwr = UnityWebRequest.Get(url); - yield return uwr.SendWebRequest(); - if (uwr.result != UnityWebRequest.Result.Success) - { - throw new System.Exception(uwr.error); - } - else - { - callback(JsonUtility.FromJson(uwr.downloadHandler.text)); - } + var task = _httpClient.GetAsync(url); + while (!task.IsCompleted) yield return null; + if (task.IsFaulted) throw task.Exception.InnerException ?? task.Exception; + var response = task.Result; + if (!response.IsSuccessStatusCode) + throw new System.Exception(response.StatusCode + ": " + response.ReasonPhrase); + var readTask = response.Content.ReadAsStringAsync(); + while (!readTask.IsCompleted) yield return null; + if (readTask.IsFaulted) throw readTask.Exception.InnerException ?? readTask.Exception; + callback(JsonUtility.FromJson(readTask.Result)); } + public IEnumerator Json(string url, T postData, Action callback, Dictionary headers = null) { - UnityWebRequest uwr = UnityWebRequest.Put(url, JsonUtility.ToJson(postData)); - uwr.method = "POST"; + var json = JsonUtility.ToJson(postData); + var request = new HttpRequestMessage(HttpMethod.Post, url) + { + Content = new StringContent(json, Encoding.UTF8, "application/json") + }; if (headers != null) { foreach (var header in headers) { - uwr.SetRequestHeader(header.Key, header.Value); + if (!header.Key.Equals("Content-Type", StringComparison.OrdinalIgnoreCase)) + request.Headers.TryAddWithoutValidation(header.Key, header.Value); } } - yield return uwr.SendWebRequest(); - - if (uwr.result != UnityWebRequest.Result.Success) - { - Debug.LogError(url + ":" + JsonUtility.ToJson(postData)); - throw new System.Exception(uwr.error); - } - else + var task = _httpClient.SendAsync(request); + while (!task.IsCompleted) yield return null; + if (task.IsFaulted) throw task.Exception.InnerException ?? task.Exception; + var response = task.Result; + if (!response.IsSuccessStatusCode) { - callback(uwr.downloadHandler.text); + Debug.LogError(url + ":" + json); + throw new System.Exception(response.StatusCode + ": " + response.ReasonPhrase); } + var readTask = response.Content.ReadAsStringAsync(); + while (!readTask.IsCompleted) yield return null; + if (readTask.IsFaulted) throw readTask.Exception.InnerException ?? readTask.Exception; + callback(readTask.Result); } private IEnumerator PopulateExistingKits(Action callback = null) { if(sq.User == null) { diff --git a/Editor/Resources/Builder/BuilderWindow.uxml b/Editor/Resources/Builder/BuilderWindow.uxml index fb250a49..407aedfd 100644 --- a/Editor/Resources/Builder/BuilderWindow.uxml +++ b/Editor/Resources/Builder/BuilderWindow.uxml @@ -174,8 +174,8 @@ - - + + diff --git a/Editor/Resources/Builder/MenuUtils.cs b/Editor/Resources/Builder/MenuUtils.cs index b22cc21a..544c8b67 100644 --- a/Editor/Resources/Builder/MenuUtils.cs +++ b/Editor/Resources/Builder/MenuUtils.cs @@ -1,6 +1,9 @@ using UnityEngine; using UnityEditor; using Banter.SDK; +using System.IO; +using UnityEditor.PackageManager; +using UnityEditor.PackageManager.Requests; namespace Banter.SDKEditor { @@ -27,5 +30,43 @@ static void CreateBanterStarterUpper(MenuCommand menuCommand) Undo.RegisterCreatedObjectUndo(go, "Create " + go.name); Selection.activeObject = go; } + +#if !BANTER_EDITOR + [MenuItem("Banter/Uninstall SDK")] + static void UninstallBanter() + { + bool userResponse = EditorUtility.DisplayDialog( + "Uninstall Banter SDK", + "Are you sure? This will restart the unity editor.", + "Affirmative", + "Negative"); + + if (!userResponse) return; + RemoveRequest request = Client.Remove("com.sidequest.banter"); + while(!request.IsCompleted) + { + + } + if(Directory.Exists("Packages/com.basis.bundlemanagement")) + { + Directory.Delete("Packages/com.basis.bundlemanagement", true); + } + if(Directory.Exists("Packages/com.basis.sdk")) + { + Directory.Delete("Packages/com.basis.sdk", true); + } + if(Directory.Exists("Packages/com.basis.odinserializer")) + { + Directory.Delete("Packages/com.basis.odinserializer", true); + } + if (Directory.Exists("Packages/com.sidequest.ora")) + { + Directory.Delete("Packages/com.sidequest.ora", true); + } + EditUtils.RemoveCompileDefine("BANTER_ORA", new BuildTargetGroup[] { BuildTargetGroup.Android, BuildTargetGroup.Standalone }); + EditUtils.RemoveCompileDefine("BASIS_BUNDLE_MANAGEMENT", new BuildTargetGroup[] { BuildTargetGroup.Android, BuildTargetGroup.Standalone }); + EditorApplication.OpenProject(Directory.GetCurrentDirectory()); + } +#endif } } diff --git a/Editor/Resources/Builder/SideQuest/SqEditorAppApi.cs b/Editor/Resources/Builder/SideQuest/SqEditorAppApi.cs index 9d0719c3..c5e3a84c 100644 --- a/Editor/Resources/Builder/SideQuest/SqEditorAppApi.cs +++ b/Editor/Resources/Builder/SideQuest/SqEditorAppApi.cs @@ -6,12 +6,12 @@ using System.IO; using System.Linq; using System.Net.Http; +using System.Net.Http.Headers; using System.Text; using System.Threading; using System.Threading.Tasks; using JetBrains.Annotations; using UnityEngine; -using UnityEngine.Networking; using Debug = System.Diagnostics.Debug; using Unity.EditorCoroutines.Editor; @@ -95,7 +95,7 @@ public IEnumerator UpdateAvatar(Action OnCompleted, Action($"/v2/avatars/{avatarId}", new SqEditorAvatar() { HighId = highId, LowId = lowId, PreviewImage = screenshotId, Public = ispublic, Version = 2, Name = name}, (av) => { OnCompleted?.Invoke(av); - }, OnError, true, false, "PATCH"); + }, OnError, true, false, "PUT"); } public IEnumerator GetAvatars(Action> OnCompleted, Action OnError) { @@ -104,7 +104,7 @@ public IEnumerator GetAvatars(Action> OnCompleted, Action>($"/v2/avatars?author_id=me", OnCompleted, OnError, true); + yield return JsonGet>($"/v2/avatars/mine", OnCompleted, OnError, true); } public IEnumerator AttachAvatar(Action OnCompleted, Action OnError, long avatarId, bool isSelected) @@ -472,7 +472,7 @@ public IEnumerator UploadFileToCommunity(string name, byte[] data, string spaceS yield break; } - yield return UploadFileInternal(_uploadRequest.UploadURI, data, name, (text) => { }, OnError); + yield return UploadFileInternal(_uploadRequest, data, name, (text) => { }, OnError); yield return AttachToCommmunity(() => OnCompleted?.Invoke(_uploadRequest), OnError, _uploadRequest.CommunitiesId, _uploadRequest.FileId, name, assetType, assetPlatform); } @@ -489,15 +489,15 @@ public IEnumerator UploadFile(string name, byte[] data, string spaceSlug, Action yield break; } - yield return UploadFileInternal(_uploadRequest.UploadURI, data, name, (text) => { }, OnError); + yield return UploadFileInternal(_uploadRequest, data, name, (text) => { }, OnError); OnCompleted?.Invoke(_uploadRequest); } - private IEnumerator UploadFileInternal(string url, byte[] data, string name, Action OnCompleted, Action OnError) + private IEnumerator UploadFileInternal(SqEditorCreateUpload upload, byte[] data, string name, Action OnCompleted, Action OnError) { // Start the async upload task - var uploadTask = UploadFileWithRetryAsync(url, data, name, maxRetries: 3); + var uploadTask = UploadFileWithRetryAsync(upload, data, name, maxRetries: 3); // Wait for the task to complete (bridges async/await with coroutine) while (!uploadTask.IsCompleted) @@ -517,7 +517,7 @@ private IEnumerator UploadFileInternal(string url, byte[] data, string name, Act OnCompleted?.Invoke(uploadTask.Result); } - private async Task UploadFileWithRetryAsync(string url, byte[] data, string name, int maxRetries = 3) + private async Task UploadFileWithRetryAsync(SqEditorCreateUpload upload, byte[] data, string name, int maxRetries = 3) { int attempt = 0; Exception lastException = null; @@ -527,12 +527,14 @@ private async Task UploadFileWithRetryAsync(string url, byte[] data, strin attempt++; try { - LogLine.Do($"Uploading {data.Length} bytes to {url} (attempt {attempt}/{maxRetries})"); + LogLine.Do($"Uploading {data.Length} bytes to {upload.UploadURI} (attempt {attempt}/{maxRetries})"); using (var content = new ByteArrayContent(data)) - using (var request = new HttpRequestMessage(HttpMethod.Put, url)) + using (var request = new HttpRequestMessage(HttpMethod.Put, upload.UploadURI)) { request.Content = content; + if (!string.IsNullOrEmpty(upload.ContentType)) + request.Content.Headers.ContentType = new MediaTypeHeaderValue(upload.ContentType); // Set timeout for this specific request using (var cts = new CancellationTokenSource(TimeSpan.FromMinutes(5))) @@ -621,7 +623,7 @@ private IEnumerator GetUploadRequest(Action OnCompleted, A OnError?.Invoke(new SqEditorApiAuthException("No user logged in.")); yield break; } - yield return JsonPost($"/create-upload", new SqEditorCreateUploadRequest() { Size = numOfBytes, SpaceSlug = spaceSlug, Type = Path.GetExtension(name), Name = name }, (u) => + yield return JsonPost($"/create-upload", new SqEditorCreateUploadRequest() { Size = numOfBytes, SpaceSlug = spaceSlug, Type = Path.GetExtension(name).Replace(".",""), Name = name }, (u) => { if (u == null) @@ -670,7 +672,7 @@ private IEnumerator GetAuthToken(Action OnCompleted, Action O OnError?.Invoke(new SqEditorApiAuthException("User refresh token is missing, logging user out")); yield break; } - yield return PostFormEncodedStringNoAuth("/v2/oauth/token", $"grant_type=refresh_token&refresh_token={UnityWebRequest.EscapeURL(Data.Token?.RefreshToken)}&client_id={Data.Token?.ClientId}", + yield return PostFormEncodedStringNoAuth("/v2/oauth/token", $"grant_type=refresh_token&refresh_token={Uri.EscapeDataString(Data.Token?.RefreshToken)}&client_id={Data.Token?.ClientId}", (a) => { if (a == null || a.AccessToken == null) @@ -687,185 +689,128 @@ private IEnumerator GetAuthToken(Action OnCompleted, Action O private IEnumerator PostFormEncodedStringNoAuth(string urlPath, string data, Action OnCompleted, Action OnError) { - using (UnityWebRequest req = new UnityWebRequest(new Uri(Config.RootApiUri, urlPath))) + var content = new StringContent(data, Encoding.UTF8, "application/x-www-form-urlencoded"); + var task = _httpClient.PostAsync(new Uri(Config.RootApiUri, urlPath), content); + while (!task.IsCompleted) yield return null; + if (task.IsFaulted) { - req.uploadHandler = new UploadHandlerRaw(Encoding.UTF8.GetBytes(data)) - { - contentType = "application/x-www-form-urlencoded" - }; - req.method = "POST"; - req.downloadHandler = new DownloadHandlerBuffer(); - - yield return req.SendWebRequest(); - - if (req.result == UnityWebRequest.Result.ConnectionError) - { - OnError(new SqEditorApiNetworkException($"Unity Network Error: {req.error}")); - yield break; - } - else if (req.result == UnityWebRequest.Result.ProtocolError) - { - if (req.responseCode == 401 || req.responseCode == 403) - { - OnError(new SqEditorApiAuthException((int)req.responseCode, $"Unity Http Error: {req.error}")); - yield break; - } - else - { - OnError(new SqEditorApiAuthException((int)req.responseCode, $"Unity Http Error: {req.error}")); - yield break; - } - } - - var resStr = req.downloadHandler.text; - if (string.IsNullOrWhiteSpace(resStr)) - { - OnCompleted?.Invoke(default(T)); - yield break; - } - else - { - try - { - OnCompleted?.Invoke(JsonConvert.DeserializeObject(resStr)); - yield break; - } - catch (Exception ex) - { - Debug.WriteLine("Failed deserializing response from API", ex); - OnError?.Invoke(ex); - yield break; - } - } + OnError(new SqEditorApiNetworkException(task.Exception.InnerException?.Message ?? task.Exception.Message)); + yield break; + } + var response = task.Result; + if (!response.IsSuccessStatusCode) + { + OnError(new SqEditorApiAuthException((int)response.StatusCode, $"Http Error: {response.ReasonPhrase}")); + yield break; + } + var readTask = response.Content.ReadAsStringAsync(); + while (!readTask.IsCompleted) yield return null; + if (readTask.IsFaulted) { OnError(readTask.Exception.InnerException ?? readTask.Exception); yield break; } + var resStr = readTask.Result; + if (string.IsNullOrWhiteSpace(resStr)) { OnCompleted?.Invoke(default(T)); yield break; } + try + { + OnCompleted?.Invoke(JsonConvert.DeserializeObject(resStr)); + } + catch (Exception ex) + { + Debug.WriteLine("Failed deserializing response from API", ex); + OnError?.Invoke(ex); } } private IEnumerator JsonGet(string urlPath, Action OnCompleted, Action OnError, bool withAuth = true) { - using (UnityWebRequest req = UnityWebRequest.Get(new Uri(Config.RootApiUri, urlPath))) + string authToken = null; + if (Data?.Token != null && withAuth) { - req.SetRequestHeader("Content-Type", "application/json"); - if (Data?.Token != null && withAuth) - { - string authToken = null; - Exception error = null; - yield return GetAuthToken((a) => authToken = a, (e) => error = e); - if (error != null) - { - OnError?.Invoke(error); - yield break; - } - req.SetRequestHeader("Authorization", "Bearer " + authToken); - } - - yield return req.SendWebRequest(); - if (req.result == UnityWebRequest.Result.ConnectionError) - { - OnError(new SqEditorApiNetworkException($"Unity Network Error: {req.error}")); - yield break; - } - else if (req.result == UnityWebRequest.Result.ProtocolError) - { - if (req.responseCode == 401 || req.responseCode == 403) - { - OnError(new SqEditorApiAuthException((int)req.responseCode, $"Unity Http Error: {req.error}")); - yield break; - } - else - { - OnError(new SqEditorApiAuthException((int)req.responseCode, $"Unity Http Error: {req.error}")); - yield break; - } - } - var resStr = req.downloadHandler.text; - if (string.IsNullOrWhiteSpace(resStr)) - { - OnCompleted?.Invoke(default(T)); - yield break; - } - else - { - try - { - OnCompleted?.Invoke(JsonConvert.DeserializeObject(resStr)); - yield break; - } - catch (Exception ex) - { - Debug.WriteLine("Failed deserializing response from API", ex); - OnError?.Invoke(ex); - yield break; - } - } + Exception error = null; + yield return GetAuthToken((a) => authToken = a, (e) => error = e); + if (error != null) { OnError?.Invoke(error); yield break; } + } + var request = new HttpRequestMessage(HttpMethod.Get, new Uri(Config.RootApiUri, urlPath)); + request.Headers.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); + if (authToken != null) + request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authToken); + var task = _httpClient.SendAsync(request); + while (!task.IsCompleted) yield return null; + if (task.IsFaulted) + { + OnError(new SqEditorApiNetworkException(task.Exception.InnerException?.Message ?? task.Exception.Message)); + yield break; + } + var response = task.Result; + if (!response.IsSuccessStatusCode) + { + OnError(new SqEditorApiAuthException((int)response.StatusCode, $"Http Error: {response.ReasonPhrase}")); + yield break; + } + var readTask = response.Content.ReadAsStringAsync(); + while (!readTask.IsCompleted) yield return null; + if (readTask.IsFaulted) { OnError(readTask.Exception.InnerException ?? readTask.Exception); yield break; } + var resStr = readTask.Result; + if (string.IsNullOrWhiteSpace(resStr)) { OnCompleted?.Invoke(default(T)); yield break; } + try + { + OnCompleted?.Invoke(JsonConvert.DeserializeObject(resStr)); + } + catch (Exception ex) + { + Debug.WriteLine("Failed deserializing response from API", ex); + OnError?.Invoke(ex); } } private IEnumerator JsonPost(string urlPath, object data, Action OnCompleted, Action OnError, bool withAuth = true, bool isCdn = false, string method = "POST") { - // The whole UnitytWebRequest.Put then changing method to POST thing is a janky workaround for JSON posting being broken in Unity... var uri = new Uri(isCdn ? Config.RootCdnUri : Config.RootApiUri, urlPath); - using (UnityWebRequest req = UnityWebRequest.Put(uri, JsonConvert.SerializeObject(data))) + string authToken = null; + if (Data?.Token != null && withAuth) { - req.method = method; - req.SetRequestHeader("Content-Type", "application/json"); - if (Data?.Token != null && withAuth) - { - string authToken = null; - Exception error = null; - yield return GetAuthToken((a) => authToken = a, (e) => error = e); - if (error != null) - { - OnError?.Invoke(error); - yield break; - } - req.SetRequestHeader("Authorization", "Bearer " + authToken); - } - - yield return req.SendWebRequest(); - if (req.result == UnityWebRequest.Result.ConnectionError) - { - OnError(new SqEditorApiNetworkException($"Unity Network Error: {req.error}")); - yield break; - } - else if (req.result == UnityWebRequest.Result.ProtocolError) - { - if (req.responseCode == 401 || req.responseCode == 403) - { - OnError(new SqEditorApiAuthException((int)req.responseCode, $"Unity Http Error: {uri} {req.error} {req.downloadHandler.text}")); - yield break; - } - else - { - OnError(new SqEditorApiAuthException((int)req.responseCode, $"Unity Http Error: {uri} {req.error} {req.downloadHandler.text}")); - yield break; - } - } - if (req.responseCode == 204) - { - OnCompleted?.Invoke(default(T)); - yield break; - } - var resStr = req.downloadHandler.text; - if (string.IsNullOrWhiteSpace(resStr)) - { - OnCompleted?.Invoke(default(T)); - yield break; - } - else - { - try - { - OnCompleted?.Invoke(JsonConvert.DeserializeObject(resStr)); - yield break; - } - catch (Exception ex) - { - Debug.WriteLine("Failed deserializing response from API", ex); - OnError?.Invoke(ex); - yield break; - } - } + Exception error = null; + yield return GetAuthToken((a) => authToken = a, (e) => error = e); + if (error != null) { OnError?.Invoke(error); yield break; } + } + var request = new HttpRequestMessage(new HttpMethod(method), uri) + { + Content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json") + }; + if (authToken != null) + request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authToken); + var task = _httpClient.SendAsync(request); + while (!task.IsCompleted) yield return null; + if (task.IsFaulted) + { + OnError(new SqEditorApiNetworkException(task.Exception.InnerException?.Message ?? task.Exception.Message)); + yield break; + } + var response = task.Result; + if (!response.IsSuccessStatusCode) + { + var errReadTask = response.Content.ReadAsStringAsync(); + while (!errReadTask.IsCompleted) yield return null; + OnError(new SqEditorApiAuthException((int)response.StatusCode, $"Http Error: {uri} {response.ReasonPhrase} {errReadTask.Result}")); + yield break; + } + if (response.StatusCode == System.Net.HttpStatusCode.NoContent) + { + OnCompleted?.Invoke(default(T)); + yield break; + } + var readTask = response.Content.ReadAsStringAsync(); + while (!readTask.IsCompleted) yield return null; + if (readTask.IsFaulted) { OnError(readTask.Exception.InnerException ?? readTask.Exception); yield break; } + var resStr = readTask.Result; + if (string.IsNullOrWhiteSpace(resStr)) { OnCompleted?.Invoke(default(T)); yield break; } + try + { + OnCompleted?.Invoke(JsonConvert.DeserializeObject(resStr)); + } + catch (Exception ex) + { + Debug.WriteLine("Failed deserializing response from API", ex); + OnError?.Invoke(ex); } } diff --git a/Editor/Resources/Builder/SideQuest/SqEditorModels.cs b/Editor/Resources/Builder/SideQuest/SqEditorModels.cs index 84b8944e..8eef6555 100644 --- a/Editor/Resources/Builder/SideQuest/SqEditorModels.cs +++ b/Editor/Resources/Builder/SideQuest/SqEditorModels.cs @@ -249,6 +249,8 @@ public class SqEditorCreateUpload /// [JsonProperty("upload_uri")] public string UploadURI { get; set; } + + [JsonProperty("contentType")] public string ContentType { get; set; } /// /// A URL to upload the file to diff --git a/Editor/SDKInitialiseOnLoad.cs b/Editor/SDKInitialiseOnLoad.cs index 500bbe7c..1231597c 100644 --- a/Editor/SDKInitialiseOnLoad.cs +++ b/Editor/SDKInitialiseOnLoad.cs @@ -18,7 +18,7 @@ public static class InitialiseOnLoad static InitialiseOnLoad() { var renderPipeline = UnityEngine.Rendering.GraphicsSettings.defaultRenderPipeline; - if( renderPipeline != null) + if (renderPipeline != null) { if (!EditorUtility.DisplayDialog("WRONG RENDER PIPELINE", "This project was created with URP but needs to use BiRP. Please select 3D(Built in Render Pipeline) in a new project and discard this one.", "OK", "Close Unity")) { @@ -36,6 +36,7 @@ static InitialiseOnLoad() SetupLayersAndTags(); SetApiCompatibilityLevel(); CreateWebRoot(); + // CreateUninstaller(); EditorApplication.playModeStateChanged -= OnPlayModeStateChanged; EditorApplication.playModeStateChanged += OnPlayModeStateChanged; #endif @@ -69,6 +70,90 @@ static void SetApiCompatibilityLevel() } PlayerSettings.SetApiCompatibilityLevel(EditorUserBuildSettings.selectedBuildTargetGroup, ApiCompatibilityLevel.NET_Unity_4_8); } +// static void CreateUninstaller() +// { +// var script = $@" +// using UnityEditor; +// using System.IO; +// using UnityEditor.PackageManager; +// using UnityEditor.PackageManager.Requests; +// namespace Banter.SDKEditor +// {{ +// public class UninstallBanter +// {{ +// // #if !BANTER_EDITOR +// [MenuItem(""Banter/Uninstall SDK"")] +// static void UninstallBanter() +// {{ +// RemoveRequest request = Client.Remove(""com.sidequest.banter""); +// while(!request.IsCompleted) +// {{ + +// }} +// EditUtils.RemoveCompileDefine(""BANTER_ORA"", new BuildTargetGroup[] {{ BuildTargetGroup.Android, BuildTargetGroup.Standalone }}); +// EditUtils.RemoveCompileDefine(""BASIS_BUNDLE_MANAGEMENT"", new BuildTargetGroup[] {{ BuildTargetGroup.Android, BuildTargetGroup.Standalone }}); +// if(Directory.Exists(""Packages/com.basis.bundlemanagement"")) +// {{ +// Directory.Delete(""Packages/com.basis.bundlemanagement""); +// }} +// if(Directory.Exists(""Packages/com.basis.sdk"")) +// {{ +// Directory.Delete(""Packages/com.basis.sdk""); +// }} +// if(Directory.Exists(""Packages/com.basis.odinserializer"")) +// {{ +// Directory.Delete(""Packages/com.basis.odinserializer""); +// }} +// if (Directory.Exists(""Packages/com.sidequest.ora"")) +// {{ +// Directory.Delete(""Packages/com.sidequest.ora""); +// }} +// if (Directory.Exists(""Packages/com.sidequest.banteruninstaller"")) +// {{ +// Directory.Delete(""Packages/com.sidequest.banteruninstaller""); +// }} +// }} +// // #endif +// }} +// }} +// "; + +// var packageJson = $@" +// {{ +// ""name"": ""com.sidequest.banteruninstaller"", +// ""version"": ""0.0.1"", +// ""displayName"": ""Banter SDK Uninstaller"", +// ""description"": ""Removing the Banter SDK"", +// ""unity"": ""2022.3"", +// ""unityRelease"": ""39f1"", +// ""hideInEditor"": false, +// ""documentationUrl"": ""https://bantervr.com/documentation"", +// ""dependencies"": {{ +// }}, +// ""author"": {{ +// ""name"": ""SideQuest"", +// ""email"": ""banter@sidequestvr.com"", +// ""url"": ""https://bantervr.com"" +// }} +// }}"; + +// if (!Directory.Exists("Packages/com.sidequest.banteruninstaller")) +// { +// Directory.CreateDirectory("Packages/com.sidequest.banteruninstaller"); +// } +// if (!Directory.Exists("Packages/com.sidequest.banteruninstaller/Editor")) +// { +// Directory.CreateDirectory("Packages/com.sidequest.banteruninstaller/Editor"); +// } +// if(!File.Exists("Packages/com.sidequest.banteruninstaller/pacakge.json")) +// { +// File.WriteAllText("Packages/com.sidequest.banteruninstaller/pacakge.json", packageJson); +// } +// if(!File.Exists("Packages/com.sidequest.banteruninstaller/Editor/UninstallBanter.cs")) +// { +// File.WriteAllText("Packages/com.sidequest.banteruninstaller/Editor/UninstallBanter.cs", script); +// } +// } static void ImportOraPackage() { var packageName = "com.sidequest.ora"; diff --git a/Editor/Scripts/VisualScripting/VsStubsAllowed.cs b/Editor/Scripts/VisualScripting/VsStubsAllowed.cs index 66e89fb0..746bab2f 100644 --- a/Editor/Scripts/VisualScripting/VsStubsAllowed.cs +++ b/Editor/Scripts/VisualScripting/VsStubsAllowed.cs @@ -641,23 +641,6 @@ public struct VsStubsAllowed "UnityEngine.Animator.tag", "UnityEngine.Animator.name", "UnityEngine.Animator.hideFlags", - "UnityEngine.StateMachineBehaviour.OnStateEnter", - "UnityEngine.StateMachineBehaviour.OnStateUpdate", - "UnityEngine.StateMachineBehaviour.OnStateExit", - "UnityEngine.StateMachineBehaviour.OnStateMove", - "UnityEngine.StateMachineBehaviour.OnStateIK", - "UnityEngine.StateMachineBehaviour.OnStateMachineEnter", - "UnityEngine.StateMachineBehaviour.OnStateMachineExit", - "UnityEngine.StateMachineBehaviour.CreateInstance", - "UnityEngine.StateMachineBehaviour.GetEntityId", - "UnityEngine.StateMachineBehaviour.Equals", - "UnityEngine.StateMachineBehaviour.op_Implicit", - "UnityEngine.StateMachineBehaviour.Instantiate", - "UnityEngine.StateMachineBehaviour.Destroy", - "UnityEngine.StateMachineBehaviour.ToString", - "UnityEngine.StateMachineBehaviour.ReferenceEquals", - "UnityEngine.StateMachineBehaviour.name", - "UnityEngine.StateMachineBehaviour.hideFlags", "UnityEngine.Animation.Stop", "UnityEngine.Animation.Rewind", "UnityEngine.Animation.Sample", @@ -1355,15 +1338,6 @@ public struct VsStubsAllowed "UnityEngine.AudioChorusFilter.tag", "UnityEngine.AudioChorusFilter.name", "UnityEngine.AudioChorusFilter.hideFlags", - "UnityEngine.Audio.AudioResource.GetEntityId", - "UnityEngine.Audio.AudioResource.Equals", - "UnityEngine.Audio.AudioResource.op_Implicit", - "UnityEngine.Audio.AudioResource.Instantiate", - "UnityEngine.Audio.AudioResource.Destroy", - "UnityEngine.Audio.AudioResource.ToString", - "UnityEngine.Audio.AudioResource.ReferenceEquals", - "UnityEngine.Audio.AudioResource.name", - "UnityEngine.Audio.AudioResource.hideFlags", "UnityEngine.Audio.AudioMixer.FindSnapshot", "UnityEngine.Audio.AudioMixer.FindMatchingGroups", "UnityEngine.Audio.AudioMixer.TransitionToSnapshots", @@ -4159,19 +4133,6 @@ public struct VsStubsAllowed "UnityEngine.Playables.Playable.ToString", "UnityEngine.Playables.Playable.ReferenceEquals", "UnityEngine.Playables.Playable.Null", - "UnityEngine.Playables.PlayableAsset.CreatePlayable", - "UnityEngine.Playables.PlayableAsset.CreateInstance", - "UnityEngine.Playables.PlayableAsset.GetEntityId", - "UnityEngine.Playables.PlayableAsset.Equals", - "UnityEngine.Playables.PlayableAsset.op_Implicit", - "UnityEngine.Playables.PlayableAsset.Instantiate", - "UnityEngine.Playables.PlayableAsset.Destroy", - "UnityEngine.Playables.PlayableAsset.ToString", - "UnityEngine.Playables.PlayableAsset.ReferenceEquals", - "UnityEngine.Playables.PlayableAsset.duration", - "UnityEngine.Playables.PlayableAsset.outputs", - "UnityEngine.Playables.PlayableAsset.name", - "UnityEngine.Playables.PlayableAsset.hideFlags", "UnityEngine.Playables.PlayableBinding.Equals", "UnityEngine.Playables.PlayableBinding.ToString", "UnityEngine.Playables.PlayableBinding.ReferenceEquals", @@ -7373,30 +7334,6 @@ public struct VsStubsAllowed "UnityEngine.SpriteMask.tag", "UnityEngine.SpriteMask.name", "UnityEngine.SpriteMask.hideFlags", - "UnityEngine.GridBrushBase.Paint", - "UnityEngine.GridBrushBase.Erase", - "UnityEngine.GridBrushBase.BoxFill", - "UnityEngine.GridBrushBase.BoxErase", - "UnityEngine.GridBrushBase.Select", - "UnityEngine.GridBrushBase.FloodFill", - "UnityEngine.GridBrushBase.Rotate", - "UnityEngine.GridBrushBase.Flip", - "UnityEngine.GridBrushBase.Pick", - "UnityEngine.GridBrushBase.Move", - "UnityEngine.GridBrushBase.MoveStart", - "UnityEngine.GridBrushBase.MoveEnd", - "UnityEngine.GridBrushBase.ChangeZPosition", - "UnityEngine.GridBrushBase.ResetZPosition", - "UnityEngine.GridBrushBase.CreateInstance", - "UnityEngine.GridBrushBase.GetEntityId", - "UnityEngine.GridBrushBase.Equals", - "UnityEngine.GridBrushBase.op_Implicit", - "UnityEngine.GridBrushBase.Instantiate", - "UnityEngine.GridBrushBase.Destroy", - "UnityEngine.GridBrushBase.ToString", - "UnityEngine.GridBrushBase.ReferenceEquals", - "UnityEngine.GridBrushBase.name", - "UnityEngine.GridBrushBase.hideFlags", "UnityEngine.UIElements.Button.MeasureTextSize", "UnityEngine.UIElements.Button.MarkDirtyText", "UnityEngine.UIElements.Button.SetActivePseudoState", @@ -9679,6 +9616,7 @@ public struct VsStubsAllowed "Banter.SDK.BanterBrowser.name", "Banter.SDK.BanterBrowser.hideFlags", "Banter.SDK.BanterBrowser.OnReceiveBrowserMessage", + "Banter.SDK.BanterBrowser.IsStreamingBrowser", "Banter.SDK.BanterBrowser.jsId", "Banter.SDK.BanterBrowser.progress", "Banter.SDK.BanterBrowser.loaded", @@ -12694,6 +12632,170 @@ public struct VsStubsAllowed "PicaVoxel.VoxelManipulator.OnManipulatorEdit", "PicaVoxel.VoxelManipulator.OnValueChanged", "PicaVoxel.VoxelManipulator.OnActiveChanged", + "Unity.AI.Navigation.NavMeshLink.UpdateLink", + "Unity.AI.Navigation.NavMeshLink.print", + "Unity.AI.Navigation.NavMeshLink.GetComponent", + "Unity.AI.Navigation.NavMeshLink.TryGetComponent", + "Unity.AI.Navigation.NavMeshLink.GetComponentInChildren", + "Unity.AI.Navigation.NavMeshLink.GetComponentsInChildren", + "Unity.AI.Navigation.NavMeshLink.GetComponentInParent", + "Unity.AI.Navigation.NavMeshLink.GetComponentsInParent", + "Unity.AI.Navigation.NavMeshLink.GetComponents", + "Unity.AI.Navigation.NavMeshLink.GetComponentIndex", + "Unity.AI.Navigation.NavMeshLink.CompareTag", + "Unity.AI.Navigation.NavMeshLink.GetEntityId", + "Unity.AI.Navigation.NavMeshLink.Equals", + "Unity.AI.Navigation.NavMeshLink.op_Implicit", + "Unity.AI.Navigation.NavMeshLink.Instantiate", + "Unity.AI.Navigation.NavMeshLink.Destroy", + "Unity.AI.Navigation.NavMeshLink.ToString", + "Unity.AI.Navigation.NavMeshLink.ReferenceEquals", + "Unity.AI.Navigation.NavMeshLink.agentTypeID", + "Unity.AI.Navigation.NavMeshLink.startPoint", + "Unity.AI.Navigation.NavMeshLink.endPoint", + "Unity.AI.Navigation.NavMeshLink.startTransform", + "Unity.AI.Navigation.NavMeshLink.endTransform", + "Unity.AI.Navigation.NavMeshLink.width", + "Unity.AI.Navigation.NavMeshLink.costModifier", + "Unity.AI.Navigation.NavMeshLink.bidirectional", + "Unity.AI.Navigation.NavMeshLink.autoUpdate", + "Unity.AI.Navigation.NavMeshLink.area", + "Unity.AI.Navigation.NavMeshLink.activated", + "Unity.AI.Navigation.NavMeshLink.occupied", + "Unity.AI.Navigation.NavMeshLink.destroyCancellationToken", + "Unity.AI.Navigation.NavMeshLink.useGUILayout", + "Unity.AI.Navigation.NavMeshLink.didStart", + "Unity.AI.Navigation.NavMeshLink.didAwake", + "Unity.AI.Navigation.NavMeshLink.enabled", + "Unity.AI.Navigation.NavMeshLink.isActiveAndEnabled", + "Unity.AI.Navigation.NavMeshLink.transform", + "Unity.AI.Navigation.NavMeshLink.transformHandle", + "Unity.AI.Navigation.NavMeshLink.gameObject", + "Unity.AI.Navigation.NavMeshLink.tag", + "Unity.AI.Navigation.NavMeshLink.name", + "Unity.AI.Navigation.NavMeshLink.hideFlags", + "Unity.AI.Navigation.NavMeshModifier.AffectsAgentType", + "Unity.AI.Navigation.NavMeshModifier.print", + "Unity.AI.Navigation.NavMeshModifier.GetComponent", + "Unity.AI.Navigation.NavMeshModifier.TryGetComponent", + "Unity.AI.Navigation.NavMeshModifier.GetComponentInChildren", + "Unity.AI.Navigation.NavMeshModifier.GetComponentsInChildren", + "Unity.AI.Navigation.NavMeshModifier.GetComponentInParent", + "Unity.AI.Navigation.NavMeshModifier.GetComponentsInParent", + "Unity.AI.Navigation.NavMeshModifier.GetComponents", + "Unity.AI.Navigation.NavMeshModifier.GetComponentIndex", + "Unity.AI.Navigation.NavMeshModifier.CompareTag", + "Unity.AI.Navigation.NavMeshModifier.GetEntityId", + "Unity.AI.Navigation.NavMeshModifier.Equals", + "Unity.AI.Navigation.NavMeshModifier.op_Implicit", + "Unity.AI.Navigation.NavMeshModifier.Instantiate", + "Unity.AI.Navigation.NavMeshModifier.Destroy", + "Unity.AI.Navigation.NavMeshModifier.ToString", + "Unity.AI.Navigation.NavMeshModifier.ReferenceEquals", + "Unity.AI.Navigation.NavMeshModifier.overrideArea", + "Unity.AI.Navigation.NavMeshModifier.area", + "Unity.AI.Navigation.NavMeshModifier.overrideGenerateLinks", + "Unity.AI.Navigation.NavMeshModifier.generateLinks", + "Unity.AI.Navigation.NavMeshModifier.ignoreFromBuild", + "Unity.AI.Navigation.NavMeshModifier.applyToChildren", + "Unity.AI.Navigation.NavMeshModifier.activeModifiers", + "Unity.AI.Navigation.NavMeshModifier.destroyCancellationToken", + "Unity.AI.Navigation.NavMeshModifier.useGUILayout", + "Unity.AI.Navigation.NavMeshModifier.didStart", + "Unity.AI.Navigation.NavMeshModifier.didAwake", + "Unity.AI.Navigation.NavMeshModifier.enabled", + "Unity.AI.Navigation.NavMeshModifier.isActiveAndEnabled", + "Unity.AI.Navigation.NavMeshModifier.transform", + "Unity.AI.Navigation.NavMeshModifier.transformHandle", + "Unity.AI.Navigation.NavMeshModifier.gameObject", + "Unity.AI.Navigation.NavMeshModifier.tag", + "Unity.AI.Navigation.NavMeshModifier.name", + "Unity.AI.Navigation.NavMeshModifier.hideFlags", + "Unity.AI.Navigation.NavMeshModifierVolume.AffectsAgentType", + "Unity.AI.Navigation.NavMeshModifierVolume.print", + "Unity.AI.Navigation.NavMeshModifierVolume.GetComponent", + "Unity.AI.Navigation.NavMeshModifierVolume.TryGetComponent", + "Unity.AI.Navigation.NavMeshModifierVolume.GetComponentInChildren", + "Unity.AI.Navigation.NavMeshModifierVolume.GetComponentsInChildren", + "Unity.AI.Navigation.NavMeshModifierVolume.GetComponentInParent", + "Unity.AI.Navigation.NavMeshModifierVolume.GetComponentsInParent", + "Unity.AI.Navigation.NavMeshModifierVolume.GetComponents", + "Unity.AI.Navigation.NavMeshModifierVolume.GetComponentIndex", + "Unity.AI.Navigation.NavMeshModifierVolume.CompareTag", + "Unity.AI.Navigation.NavMeshModifierVolume.GetEntityId", + "Unity.AI.Navigation.NavMeshModifierVolume.Equals", + "Unity.AI.Navigation.NavMeshModifierVolume.op_Implicit", + "Unity.AI.Navigation.NavMeshModifierVolume.Instantiate", + "Unity.AI.Navigation.NavMeshModifierVolume.Destroy", + "Unity.AI.Navigation.NavMeshModifierVolume.ToString", + "Unity.AI.Navigation.NavMeshModifierVolume.ReferenceEquals", + "Unity.AI.Navigation.NavMeshModifierVolume.size", + "Unity.AI.Navigation.NavMeshModifierVolume.center", + "Unity.AI.Navigation.NavMeshModifierVolume.area", + "Unity.AI.Navigation.NavMeshModifierVolume.activeModifiers", + "Unity.AI.Navigation.NavMeshModifierVolume.destroyCancellationToken", + "Unity.AI.Navigation.NavMeshModifierVolume.useGUILayout", + "Unity.AI.Navigation.NavMeshModifierVolume.didStart", + "Unity.AI.Navigation.NavMeshModifierVolume.didAwake", + "Unity.AI.Navigation.NavMeshModifierVolume.enabled", + "Unity.AI.Navigation.NavMeshModifierVolume.isActiveAndEnabled", + "Unity.AI.Navigation.NavMeshModifierVolume.transform", + "Unity.AI.Navigation.NavMeshModifierVolume.transformHandle", + "Unity.AI.Navigation.NavMeshModifierVolume.gameObject", + "Unity.AI.Navigation.NavMeshModifierVolume.tag", + "Unity.AI.Navigation.NavMeshModifierVolume.name", + "Unity.AI.Navigation.NavMeshModifierVolume.hideFlags", + "Unity.AI.Navigation.NavMeshSurface.AddData", + "Unity.AI.Navigation.NavMeshSurface.RemoveData", + "Unity.AI.Navigation.NavMeshSurface.GetBuildSettings", + "Unity.AI.Navigation.NavMeshSurface.BuildNavMesh", + "Unity.AI.Navigation.NavMeshSurface.UpdateNavMesh", + "Unity.AI.Navigation.NavMeshSurface.print", + "Unity.AI.Navigation.NavMeshSurface.GetComponent", + "Unity.AI.Navigation.NavMeshSurface.TryGetComponent", + "Unity.AI.Navigation.NavMeshSurface.GetComponentInChildren", + "Unity.AI.Navigation.NavMeshSurface.GetComponentsInChildren", + "Unity.AI.Navigation.NavMeshSurface.GetComponentInParent", + "Unity.AI.Navigation.NavMeshSurface.GetComponentsInParent", + "Unity.AI.Navigation.NavMeshSurface.GetComponents", + "Unity.AI.Navigation.NavMeshSurface.GetComponentIndex", + "Unity.AI.Navigation.NavMeshSurface.CompareTag", + "Unity.AI.Navigation.NavMeshSurface.GetEntityId", + "Unity.AI.Navigation.NavMeshSurface.Equals", + "Unity.AI.Navigation.NavMeshSurface.op_Implicit", + "Unity.AI.Navigation.NavMeshSurface.Instantiate", + "Unity.AI.Navigation.NavMeshSurface.Destroy", + "Unity.AI.Navigation.NavMeshSurface.ToString", + "Unity.AI.Navigation.NavMeshSurface.ReferenceEquals", + "Unity.AI.Navigation.NavMeshSurface.agentTypeID", + "Unity.AI.Navigation.NavMeshSurface.collectObjects", + "Unity.AI.Navigation.NavMeshSurface.size", + "Unity.AI.Navigation.NavMeshSurface.center", + "Unity.AI.Navigation.NavMeshSurface.layerMask", + "Unity.AI.Navigation.NavMeshSurface.useGeometry", + "Unity.AI.Navigation.NavMeshSurface.defaultArea", + "Unity.AI.Navigation.NavMeshSurface.ignoreNavMeshAgent", + "Unity.AI.Navigation.NavMeshSurface.ignoreNavMeshObstacle", + "Unity.AI.Navigation.NavMeshSurface.overrideTileSize", + "Unity.AI.Navigation.NavMeshSurface.tileSize", + "Unity.AI.Navigation.NavMeshSurface.overrideVoxelSize", + "Unity.AI.Navigation.NavMeshSurface.voxelSize", + "Unity.AI.Navigation.NavMeshSurface.minRegionArea", + "Unity.AI.Navigation.NavMeshSurface.buildHeightMesh", + "Unity.AI.Navigation.NavMeshSurface.navMeshData", + "Unity.AI.Navigation.NavMeshSurface.activeSurfaces", + "Unity.AI.Navigation.NavMeshSurface.destroyCancellationToken", + "Unity.AI.Navigation.NavMeshSurface.useGUILayout", + "Unity.AI.Navigation.NavMeshSurface.didStart", + "Unity.AI.Navigation.NavMeshSurface.didAwake", + "Unity.AI.Navigation.NavMeshSurface.enabled", + "Unity.AI.Navigation.NavMeshSurface.isActiveAndEnabled", + "Unity.AI.Navigation.NavMeshSurface.transform", + "Unity.AI.Navigation.NavMeshSurface.transformHandle", + "Unity.AI.Navigation.NavMeshSurface.gameObject", + "Unity.AI.Navigation.NavMeshSurface.tag", + "Unity.AI.Navigation.NavMeshSurface.name", + "Unity.AI.Navigation.NavMeshSurface.hideFlags", "TMPro.TextContainer.IsActive", "TMPro.TextContainer.IsDestroyed", "TMPro.TextContainer.print", @@ -13099,22 +13201,6 @@ public struct VsStubsAllowed "TMPro.TextMeshProUGUI.tag", "TMPro.TextMeshProUGUI.name", "TMPro.TextMeshProUGUI.hideFlags", - "TMPro.TMP_Asset.CreateInstance", - "TMPro.TMP_Asset.GetEntityId", - "TMPro.TMP_Asset.Equals", - "TMPro.TMP_Asset.op_Implicit", - "TMPro.TMP_Asset.Instantiate", - "TMPro.TMP_Asset.Destroy", - "TMPro.TMP_Asset.ToString", - "TMPro.TMP_Asset.ReferenceEquals", - "TMPro.TMP_Asset.version", - "TMPro.TMP_Asset.instanceID", - "TMPro.TMP_Asset.hashCode", - "TMPro.TMP_Asset.faceInfo", - "TMPro.TMP_Asset.material", - "TMPro.TMP_Asset.materialHashCode", - "TMPro.TMP_Asset.name", - "TMPro.TMP_Asset.hideFlags", "TMPro.TMP_ColorGradient.CreateInstance", "TMPro.TMP_ColorGradient.GetEntityId", "TMPro.TMP_ColorGradient.Equals", @@ -13400,16 +13486,6 @@ public struct VsStubsAllowed "TMPro.TMP_InputField.name", "TMPro.TMP_InputField.hideFlags", "TMPro.TMP_InputField.isAlert", - "TMPro.TMP_InputValidator.CreateInstance", - "TMPro.TMP_InputValidator.GetEntityId", - "TMPro.TMP_InputValidator.Equals", - "TMPro.TMP_InputValidator.op_Implicit", - "TMPro.TMP_InputValidator.Instantiate", - "TMPro.TMP_InputValidator.Destroy", - "TMPro.TMP_InputValidator.ToString", - "TMPro.TMP_InputValidator.ReferenceEquals", - "TMPro.TMP_InputValidator.name", - "TMPro.TMP_InputValidator.hideFlags", "TMPro.TMP_ScrollbarEventHandler.OnPointerClick", "TMPro.TMP_ScrollbarEventHandler.OnSelect", "TMPro.TMP_ScrollbarEventHandler.OnDeselect", @@ -13722,179 +13798,6 @@ public struct VsStubsAllowed "TMPro.TMP_SubMeshUI.tag", "TMPro.TMP_SubMeshUI.name", "TMPro.TMP_SubMeshUI.hideFlags", - "TMPro.TMP_Text.ForceMeshUpdate", - "TMPro.TMP_Text.UpdateGeometry", - "TMPro.TMP_Text.UpdateVertexData", - "TMPro.TMP_Text.SetVertices", - "TMPro.TMP_Text.UpdateMeshPadding", - "TMPro.TMP_Text.CrossFadeColor", - "TMPro.TMP_Text.CrossFadeAlpha", - "TMPro.TMP_Text.SetText", - "TMPro.TMP_Text.SetCharArray", - "TMPro.TMP_Text.GetPreferredValues", - "TMPro.TMP_Text.GetRenderedValues", - "TMPro.TMP_Text.GetTextInfo", - "TMPro.TMP_Text.ComputeMarginSize", - "TMPro.TMP_Text.ClearMesh", - "TMPro.TMP_Text.GetParsedText", - "TMPro.TMP_Text.GetModifiedMaterial", - "TMPro.TMP_Text.Cull", - "TMPro.TMP_Text.SetClipRect", - "TMPro.TMP_Text.SetClipSoftness", - "TMPro.TMP_Text.RecalculateClipping", - "TMPro.TMP_Text.RecalculateMasking", - "TMPro.TMP_Text.Raycast", - "TMPro.TMP_Text.SetAllDirty", - "TMPro.TMP_Text.SetLayoutDirty", - "TMPro.TMP_Text.SetVerticesDirty", - "TMPro.TMP_Text.SetMaterialDirty", - "TMPro.TMP_Text.SetRaycastDirty", - "TMPro.TMP_Text.OnCullingChanged", - "TMPro.TMP_Text.Rebuild", - "TMPro.TMP_Text.LayoutComplete", - "TMPro.TMP_Text.GraphicUpdateComplete", - "TMPro.TMP_Text.SetNativeSize", - "TMPro.TMP_Text.PixelAdjustPoint", - "TMPro.TMP_Text.GetPixelAdjustedRect", - "TMPro.TMP_Text.RegisterDirtyLayoutCallback", - "TMPro.TMP_Text.UnregisterDirtyLayoutCallback", - "TMPro.TMP_Text.RegisterDirtyVerticesCallback", - "TMPro.TMP_Text.UnregisterDirtyVerticesCallback", - "TMPro.TMP_Text.RegisterDirtyMaterialCallback", - "TMPro.TMP_Text.UnregisterDirtyMaterialCallback", - "TMPro.TMP_Text.IsActive", - "TMPro.TMP_Text.IsDestroyed", - "TMPro.TMP_Text.print", - "TMPro.TMP_Text.GetComponent", - "TMPro.TMP_Text.TryGetComponent", - "TMPro.TMP_Text.GetComponentInChildren", - "TMPro.TMP_Text.GetComponentsInChildren", - "TMPro.TMP_Text.GetComponentInParent", - "TMPro.TMP_Text.GetComponentsInParent", - "TMPro.TMP_Text.GetComponents", - "TMPro.TMP_Text.GetComponentIndex", - "TMPro.TMP_Text.CompareTag", - "TMPro.TMP_Text.GetEntityId", - "TMPro.TMP_Text.Equals", - "TMPro.TMP_Text.op_Implicit", - "TMPro.TMP_Text.Instantiate", - "TMPro.TMP_Text.Destroy", - "TMPro.TMP_Text.ToString", - "TMPro.TMP_Text.ReferenceEquals", - "TMPro.TMP_Text.text", - "TMPro.TMP_Text.textPreprocessor", - "TMPro.TMP_Text.isRightToLeftText", - "TMPro.TMP_Text.font", - "TMPro.TMP_Text.fontSharedMaterial", - "TMPro.TMP_Text.fontSharedMaterials", - "TMPro.TMP_Text.fontMaterial", - "TMPro.TMP_Text.fontMaterials", - "TMPro.TMP_Text.color", - "TMPro.TMP_Text.alpha", - "TMPro.TMP_Text.enableVertexGradient", - "TMPro.TMP_Text.colorGradient", - "TMPro.TMP_Text.colorGradientPreset", - "TMPro.TMP_Text.spriteAsset", - "TMPro.TMP_Text.tintAllSprites", - "TMPro.TMP_Text.styleSheet", - "TMPro.TMP_Text.textStyle", - "TMPro.TMP_Text.overrideColorTags", - "TMPro.TMP_Text.faceColor", - "TMPro.TMP_Text.outlineColor", - "TMPro.TMP_Text.outlineWidth", - "TMPro.TMP_Text.fontSize", - "TMPro.TMP_Text.fontWeight", - "TMPro.TMP_Text.pixelsPerUnit", - "TMPro.TMP_Text.enableAutoSizing", - "TMPro.TMP_Text.fontSizeMin", - "TMPro.TMP_Text.fontSizeMax", - "TMPro.TMP_Text.fontStyle", - "TMPro.TMP_Text.isUsingBold", - "TMPro.TMP_Text.horizontalAlignment", - "TMPro.TMP_Text.verticalAlignment", - "TMPro.TMP_Text.alignment", - "TMPro.TMP_Text.characterSpacing", - "TMPro.TMP_Text.characterHorizontalScale", - "TMPro.TMP_Text.wordSpacing", - "TMPro.TMP_Text.lineSpacing", - "TMPro.TMP_Text.lineSpacingAdjustment", - "TMPro.TMP_Text.paragraphSpacing", - "TMPro.TMP_Text.characterWidthAdjustment", - "TMPro.TMP_Text.textWrappingMode", - "TMPro.TMP_Text.wordWrappingRatios", - "TMPro.TMP_Text.overflowMode", - "TMPro.TMP_Text.isTextOverflowing", - "TMPro.TMP_Text.firstOverflowCharacterIndex", - "TMPro.TMP_Text.linkedTextComponent", - "TMPro.TMP_Text.isTextTruncated", - "TMPro.TMP_Text.fontFeatures", - "TMPro.TMP_Text.extraPadding", - "TMPro.TMP_Text.richText", - "TMPro.TMP_Text.emojiFallbackSupport", - "TMPro.TMP_Text.parseCtrlCharacters", - "TMPro.TMP_Text.isOverlay", - "TMPro.TMP_Text.isOrthographic", - "TMPro.TMP_Text.enableCulling", - "TMPro.TMP_Text.ignoreVisibility", - "TMPro.TMP_Text.horizontalMapping", - "TMPro.TMP_Text.verticalMapping", - "TMPro.TMP_Text.mappingUvLineOffset", - "TMPro.TMP_Text.renderMode", - "TMPro.TMP_Text.geometrySortingOrder", - "TMPro.TMP_Text.isTextObjectScaleStatic", - "TMPro.TMP_Text.vertexBufferAutoSizeReduction", - "TMPro.TMP_Text.firstVisibleCharacter", - "TMPro.TMP_Text.maxVisibleCharacters", - "TMPro.TMP_Text.maxVisibleWords", - "TMPro.TMP_Text.maxVisibleLines", - "TMPro.TMP_Text.useMaxVisibleDescender", - "TMPro.TMP_Text.pageToDisplay", - "TMPro.TMP_Text.margin", - "TMPro.TMP_Text.textInfo", - "TMPro.TMP_Text.havePropertiesChanged", - "TMPro.TMP_Text.isUsingLegacyAnimationComponent", - "TMPro.TMP_Text.transform", - "TMPro.TMP_Text.rectTransform", - "TMPro.TMP_Text.autoSizeTextContainer", - "TMPro.TMP_Text.mesh", - "TMPro.TMP_Text.isVolumetricText", - "TMPro.TMP_Text.bounds", - "TMPro.TMP_Text.textBounds", - "TMPro.TMP_Text.flexibleHeight", - "TMPro.TMP_Text.flexibleWidth", - "TMPro.TMP_Text.minWidth", - "TMPro.TMP_Text.minHeight", - "TMPro.TMP_Text.maxWidth", - "TMPro.TMP_Text.maxHeight", - "TMPro.TMP_Text.preferredWidth", - "TMPro.TMP_Text.preferredHeight", - "TMPro.TMP_Text.renderedWidth", - "TMPro.TMP_Text.renderedHeight", - "TMPro.TMP_Text.layoutPriority", - "TMPro.TMP_Text.onCullStateChanged", - "TMPro.TMP_Text.maskable", - "TMPro.TMP_Text.isMaskingGraphic", - "TMPro.TMP_Text.defaultGraphicMaterial", - "TMPro.TMP_Text.raycastTarget", - "TMPro.TMP_Text.raycastPadding", - "TMPro.TMP_Text.depth", - "TMPro.TMP_Text.canvas", - "TMPro.TMP_Text.canvasRenderer", - "TMPro.TMP_Text.defaultMaterial", - "TMPro.TMP_Text.material", - "TMPro.TMP_Text.materialForRendering", - "TMPro.TMP_Text.mainTexture", - "TMPro.TMP_Text.destroyCancellationToken", - "TMPro.TMP_Text.useGUILayout", - "TMPro.TMP_Text.didStart", - "TMPro.TMP_Text.didAwake", - "TMPro.TMP_Text.enabled", - "TMPro.TMP_Text.isActiveAndEnabled", - "TMPro.TMP_Text.transformHandle", - "TMPro.TMP_Text.gameObject", - "TMPro.TMP_Text.tag", - "TMPro.TMP_Text.name", - "TMPro.TMP_Text.hideFlags", "UnityEngine.Timeline.ActivationTrack.CreateTrackMixer", "UnityEngine.Timeline.ActivationTrack.GatherProperties", "UnityEngine.Timeline.ActivationTrack.GetClips", @@ -14101,46 +14004,6 @@ public struct VsStubsAllowed "UnityEngine.Timeline.TimelineAsset.markerTrack", "UnityEngine.Timeline.TimelineAsset.name", "UnityEngine.Timeline.TimelineAsset.hideFlags", - "UnityEngine.Timeline.TrackAsset.GetClips", - "UnityEngine.Timeline.TrackAsset.GetChildTracks", - "UnityEngine.Timeline.TrackAsset.CreateCurves", - "UnityEngine.Timeline.TrackAsset.CreateTrackMixer", - "UnityEngine.Timeline.TrackAsset.CreatePlayable", - "UnityEngine.Timeline.TrackAsset.CreateDefaultClip", - "UnityEngine.Timeline.TrackAsset.DeleteClip", - "UnityEngine.Timeline.TrackAsset.CreateMarker", - "UnityEngine.Timeline.TrackAsset.DeleteMarker", - "UnityEngine.Timeline.TrackAsset.GetMarkers", - "UnityEngine.Timeline.TrackAsset.GetMarkerCount", - "UnityEngine.Timeline.TrackAsset.GetMarker", - "UnityEngine.Timeline.TrackAsset.GatherProperties", - "UnityEngine.Timeline.TrackAsset.CanCreateTrackMixer", - "UnityEngine.Timeline.TrackAsset.CreateInstance", - "UnityEngine.Timeline.TrackAsset.GetEntityId", - "UnityEngine.Timeline.TrackAsset.Equals", - "UnityEngine.Timeline.TrackAsset.op_Implicit", - "UnityEngine.Timeline.TrackAsset.Instantiate", - "UnityEngine.Timeline.TrackAsset.Destroy", - "UnityEngine.Timeline.TrackAsset.ToString", - "UnityEngine.Timeline.TrackAsset.ReferenceEquals", - "UnityEngine.Timeline.TrackAsset.start", - "UnityEngine.Timeline.TrackAsset.end", - "UnityEngine.Timeline.TrackAsset.duration", - "UnityEngine.Timeline.TrackAsset.muted", - "UnityEngine.Timeline.TrackAsset.mutedInHierarchy", - "UnityEngine.Timeline.TrackAsset.timelineAsset", - "UnityEngine.Timeline.TrackAsset.parent", - "UnityEngine.Timeline.TrackAsset.isEmpty", - "UnityEngine.Timeline.TrackAsset.hasClips", - "UnityEngine.Timeline.TrackAsset.hasCurves", - "UnityEngine.Timeline.TrackAsset.isSubTrack", - "UnityEngine.Timeline.TrackAsset.outputs", - "UnityEngine.Timeline.TrackAsset.curves", - "UnityEngine.Timeline.TrackAsset.locked", - "UnityEngine.Timeline.TrackAsset.lockedInHierarchy", - "UnityEngine.Timeline.TrackAsset.supportsNotifications", - "UnityEngine.Timeline.TrackAsset.name", - "UnityEngine.Timeline.TrackAsset.hideFlags", "UnityEngine.Timeline.AudioPlayableAsset.CreatePlayable", "UnityEngine.Timeline.AudioPlayableAsset.CreateInstance", "UnityEngine.Timeline.AudioPlayableAsset.GetEntityId", @@ -14264,19 +14127,6 @@ public struct VsStubsAllowed "UnityEngine.Timeline.ControlTrack.supportsNotifications", "UnityEngine.Timeline.ControlTrack.name", "UnityEngine.Timeline.ControlTrack.hideFlags", - "UnityEngine.Timeline.Marker.OnInitialize", - "UnityEngine.Timeline.Marker.CreateInstance", - "UnityEngine.Timeline.Marker.GetEntityId", - "UnityEngine.Timeline.Marker.Equals", - "UnityEngine.Timeline.Marker.op_Implicit", - "UnityEngine.Timeline.Marker.Instantiate", - "UnityEngine.Timeline.Marker.Destroy", - "UnityEngine.Timeline.Marker.ToString", - "UnityEngine.Timeline.Marker.ReferenceEquals", - "UnityEngine.Timeline.Marker.parent", - "UnityEngine.Timeline.Marker.time", - "UnityEngine.Timeline.Marker.name", - "UnityEngine.Timeline.Marker.hideFlags", "UnityEngine.Timeline.MarkerTrack.GetClips", "UnityEngine.Timeline.MarkerTrack.GetChildTracks", "UnityEngine.Timeline.MarkerTrack.CreateCurves", @@ -14661,70 +14511,6 @@ public struct VsStubsAllowed "UnityEngine.UI.Dropdown.tag", "UnityEngine.UI.Dropdown.name", "UnityEngine.UI.Dropdown.hideFlags", - "UnityEngine.UI.Graphic.SetAllDirty", - "UnityEngine.UI.Graphic.SetLayoutDirty", - "UnityEngine.UI.Graphic.SetVerticesDirty", - "UnityEngine.UI.Graphic.SetMaterialDirty", - "UnityEngine.UI.Graphic.SetRaycastDirty", - "UnityEngine.UI.Graphic.OnCullingChanged", - "UnityEngine.UI.Graphic.Rebuild", - "UnityEngine.UI.Graphic.LayoutComplete", - "UnityEngine.UI.Graphic.GraphicUpdateComplete", - "UnityEngine.UI.Graphic.SetNativeSize", - "UnityEngine.UI.Graphic.Raycast", - "UnityEngine.UI.Graphic.PixelAdjustPoint", - "UnityEngine.UI.Graphic.GetPixelAdjustedRect", - "UnityEngine.UI.Graphic.CrossFadeColor", - "UnityEngine.UI.Graphic.CrossFadeAlpha", - "UnityEngine.UI.Graphic.RegisterDirtyLayoutCallback", - "UnityEngine.UI.Graphic.UnregisterDirtyLayoutCallback", - "UnityEngine.UI.Graphic.RegisterDirtyVerticesCallback", - "UnityEngine.UI.Graphic.UnregisterDirtyVerticesCallback", - "UnityEngine.UI.Graphic.RegisterDirtyMaterialCallback", - "UnityEngine.UI.Graphic.UnregisterDirtyMaterialCallback", - "UnityEngine.UI.Graphic.IsActive", - "UnityEngine.UI.Graphic.IsDestroyed", - "UnityEngine.UI.Graphic.print", - "UnityEngine.UI.Graphic.GetComponent", - "UnityEngine.UI.Graphic.TryGetComponent", - "UnityEngine.UI.Graphic.GetComponentInChildren", - "UnityEngine.UI.Graphic.GetComponentsInChildren", - "UnityEngine.UI.Graphic.GetComponentInParent", - "UnityEngine.UI.Graphic.GetComponentsInParent", - "UnityEngine.UI.Graphic.GetComponents", - "UnityEngine.UI.Graphic.GetComponentIndex", - "UnityEngine.UI.Graphic.CompareTag", - "UnityEngine.UI.Graphic.GetEntityId", - "UnityEngine.UI.Graphic.Equals", - "UnityEngine.UI.Graphic.op_Implicit", - "UnityEngine.UI.Graphic.Instantiate", - "UnityEngine.UI.Graphic.Destroy", - "UnityEngine.UI.Graphic.ToString", - "UnityEngine.UI.Graphic.ReferenceEquals", - "UnityEngine.UI.Graphic.defaultGraphicMaterial", - "UnityEngine.UI.Graphic.color", - "UnityEngine.UI.Graphic.raycastTarget", - "UnityEngine.UI.Graphic.raycastPadding", - "UnityEngine.UI.Graphic.depth", - "UnityEngine.UI.Graphic.rectTransform", - "UnityEngine.UI.Graphic.canvas", - "UnityEngine.UI.Graphic.canvasRenderer", - "UnityEngine.UI.Graphic.defaultMaterial", - "UnityEngine.UI.Graphic.material", - "UnityEngine.UI.Graphic.materialForRendering", - "UnityEngine.UI.Graphic.mainTexture", - "UnityEngine.UI.Graphic.destroyCancellationToken", - "UnityEngine.UI.Graphic.useGUILayout", - "UnityEngine.UI.Graphic.didStart", - "UnityEngine.UI.Graphic.didAwake", - "UnityEngine.UI.Graphic.enabled", - "UnityEngine.UI.Graphic.isActiveAndEnabled", - "UnityEngine.UI.Graphic.transform", - "UnityEngine.UI.Graphic.transformHandle", - "UnityEngine.UI.Graphic.gameObject", - "UnityEngine.UI.Graphic.tag", - "UnityEngine.UI.Graphic.name", - "UnityEngine.UI.Graphic.hideFlags", "UnityEngine.UI.GraphicRaycaster.Raycast", "UnityEngine.UI.GraphicRaycaster.ToString", "UnityEngine.UI.GraphicRaycaster.IsActive", @@ -15191,58 +14977,6 @@ public struct VsStubsAllowed "UnityEngine.UI.HorizontalLayoutGroup.tag", "UnityEngine.UI.HorizontalLayoutGroup.name", "UnityEngine.UI.HorizontalLayoutGroup.hideFlags", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.CalculateLayoutInputHorizontal", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.CalculateLayoutInputVertical", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.SetLayoutHorizontal", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.SetLayoutVertical", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.IsActive", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.IsDestroyed", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.print", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetComponent", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.TryGetComponent", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetComponentInChildren", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetComponentsInChildren", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetComponentInParent", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetComponentsInParent", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetComponents", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetComponentIndex", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.CompareTag", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.GetEntityId", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.Equals", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.op_Implicit", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.Instantiate", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.Destroy", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.ToString", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.ReferenceEquals", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.spacing", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.childForceExpandWidth", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.childForceExpandHeight", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.childControlWidth", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.childControlHeight", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.childScaleWidth", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.childScaleHeight", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.reverseArrangement", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.padding", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.childAlignment", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.minWidth", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.preferredWidth", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.flexibleWidth", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.minHeight", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.preferredHeight", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.flexibleHeight", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.layoutPriority", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.destroyCancellationToken", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.useGUILayout", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.didStart", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.didAwake", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.enabled", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.isActiveAndEnabled", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.transform", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.transformHandle", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.gameObject", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.tag", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.name", - "UnityEngine.UI.HorizontalOrVerticalLayoutGroup.hideFlags", "UnityEngine.UI.LayoutElement.CalculateLayoutInputHorizontal", "UnityEngine.UI.LayoutElement.CalculateLayoutInputVertical", "UnityEngine.UI.LayoutElement.IsActive", @@ -15284,50 +15018,6 @@ public struct VsStubsAllowed "UnityEngine.UI.LayoutElement.tag", "UnityEngine.UI.LayoutElement.name", "UnityEngine.UI.LayoutElement.hideFlags", - "UnityEngine.UI.LayoutGroup.CalculateLayoutInputHorizontal", - "UnityEngine.UI.LayoutGroup.CalculateLayoutInputVertical", - "UnityEngine.UI.LayoutGroup.SetLayoutHorizontal", - "UnityEngine.UI.LayoutGroup.SetLayoutVertical", - "UnityEngine.UI.LayoutGroup.IsActive", - "UnityEngine.UI.LayoutGroup.IsDestroyed", - "UnityEngine.UI.LayoutGroup.print", - "UnityEngine.UI.LayoutGroup.GetComponent", - "UnityEngine.UI.LayoutGroup.TryGetComponent", - "UnityEngine.UI.LayoutGroup.GetComponentInChildren", - "UnityEngine.UI.LayoutGroup.GetComponentsInChildren", - "UnityEngine.UI.LayoutGroup.GetComponentInParent", - "UnityEngine.UI.LayoutGroup.GetComponentsInParent", - "UnityEngine.UI.LayoutGroup.GetComponents", - "UnityEngine.UI.LayoutGroup.GetComponentIndex", - "UnityEngine.UI.LayoutGroup.CompareTag", - "UnityEngine.UI.LayoutGroup.GetEntityId", - "UnityEngine.UI.LayoutGroup.Equals", - "UnityEngine.UI.LayoutGroup.op_Implicit", - "UnityEngine.UI.LayoutGroup.Instantiate", - "UnityEngine.UI.LayoutGroup.Destroy", - "UnityEngine.UI.LayoutGroup.ToString", - "UnityEngine.UI.LayoutGroup.ReferenceEquals", - "UnityEngine.UI.LayoutGroup.padding", - "UnityEngine.UI.LayoutGroup.childAlignment", - "UnityEngine.UI.LayoutGroup.minWidth", - "UnityEngine.UI.LayoutGroup.preferredWidth", - "UnityEngine.UI.LayoutGroup.flexibleWidth", - "UnityEngine.UI.LayoutGroup.minHeight", - "UnityEngine.UI.LayoutGroup.preferredHeight", - "UnityEngine.UI.LayoutGroup.flexibleHeight", - "UnityEngine.UI.LayoutGroup.layoutPriority", - "UnityEngine.UI.LayoutGroup.destroyCancellationToken", - "UnityEngine.UI.LayoutGroup.useGUILayout", - "UnityEngine.UI.LayoutGroup.didStart", - "UnityEngine.UI.LayoutGroup.didAwake", - "UnityEngine.UI.LayoutGroup.enabled", - "UnityEngine.UI.LayoutGroup.isActiveAndEnabled", - "UnityEngine.UI.LayoutGroup.transform", - "UnityEngine.UI.LayoutGroup.transformHandle", - "UnityEngine.UI.LayoutGroup.gameObject", - "UnityEngine.UI.LayoutGroup.tag", - "UnityEngine.UI.LayoutGroup.name", - "UnityEngine.UI.LayoutGroup.hideFlags", "UnityEngine.UI.VerticalLayoutGroup.CalculateLayoutInputHorizontal", "UnityEngine.UI.VerticalLayoutGroup.CalculateLayoutInputVertical", "UnityEngine.UI.VerticalLayoutGroup.SetLayoutHorizontal", @@ -15417,79 +15107,6 @@ public struct VsStubsAllowed "UnityEngine.UI.Mask.tag", "UnityEngine.UI.Mask.name", "UnityEngine.UI.Mask.hideFlags", - "UnityEngine.UI.MaskableGraphic.GetModifiedMaterial", - "UnityEngine.UI.MaskableGraphic.Cull", - "UnityEngine.UI.MaskableGraphic.SetClipRect", - "UnityEngine.UI.MaskableGraphic.SetClipSoftness", - "UnityEngine.UI.MaskableGraphic.RecalculateClipping", - "UnityEngine.UI.MaskableGraphic.RecalculateMasking", - "UnityEngine.UI.MaskableGraphic.Raycast", - "UnityEngine.UI.MaskableGraphic.SetAllDirty", - "UnityEngine.UI.MaskableGraphic.SetLayoutDirty", - "UnityEngine.UI.MaskableGraphic.SetVerticesDirty", - "UnityEngine.UI.MaskableGraphic.SetMaterialDirty", - "UnityEngine.UI.MaskableGraphic.SetRaycastDirty", - "UnityEngine.UI.MaskableGraphic.OnCullingChanged", - "UnityEngine.UI.MaskableGraphic.Rebuild", - "UnityEngine.UI.MaskableGraphic.LayoutComplete", - "UnityEngine.UI.MaskableGraphic.GraphicUpdateComplete", - "UnityEngine.UI.MaskableGraphic.SetNativeSize", - "UnityEngine.UI.MaskableGraphic.PixelAdjustPoint", - "UnityEngine.UI.MaskableGraphic.GetPixelAdjustedRect", - "UnityEngine.UI.MaskableGraphic.CrossFadeColor", - "UnityEngine.UI.MaskableGraphic.CrossFadeAlpha", - "UnityEngine.UI.MaskableGraphic.RegisterDirtyLayoutCallback", - "UnityEngine.UI.MaskableGraphic.UnregisterDirtyLayoutCallback", - "UnityEngine.UI.MaskableGraphic.RegisterDirtyVerticesCallback", - "UnityEngine.UI.MaskableGraphic.UnregisterDirtyVerticesCallback", - "UnityEngine.UI.MaskableGraphic.RegisterDirtyMaterialCallback", - "UnityEngine.UI.MaskableGraphic.UnregisterDirtyMaterialCallback", - "UnityEngine.UI.MaskableGraphic.IsActive", - "UnityEngine.UI.MaskableGraphic.IsDestroyed", - "UnityEngine.UI.MaskableGraphic.print", - "UnityEngine.UI.MaskableGraphic.GetComponent", - "UnityEngine.UI.MaskableGraphic.TryGetComponent", - "UnityEngine.UI.MaskableGraphic.GetComponentInChildren", - "UnityEngine.UI.MaskableGraphic.GetComponentsInChildren", - "UnityEngine.UI.MaskableGraphic.GetComponentInParent", - "UnityEngine.UI.MaskableGraphic.GetComponentsInParent", - "UnityEngine.UI.MaskableGraphic.GetComponents", - "UnityEngine.UI.MaskableGraphic.GetComponentIndex", - "UnityEngine.UI.MaskableGraphic.CompareTag", - "UnityEngine.UI.MaskableGraphic.GetEntityId", - "UnityEngine.UI.MaskableGraphic.Equals", - "UnityEngine.UI.MaskableGraphic.op_Implicit", - "UnityEngine.UI.MaskableGraphic.Instantiate", - "UnityEngine.UI.MaskableGraphic.Destroy", - "UnityEngine.UI.MaskableGraphic.ToString", - "UnityEngine.UI.MaskableGraphic.ReferenceEquals", - "UnityEngine.UI.MaskableGraphic.onCullStateChanged", - "UnityEngine.UI.MaskableGraphic.maskable", - "UnityEngine.UI.MaskableGraphic.isMaskingGraphic", - "UnityEngine.UI.MaskableGraphic.defaultGraphicMaterial", - "UnityEngine.UI.MaskableGraphic.color", - "UnityEngine.UI.MaskableGraphic.raycastTarget", - "UnityEngine.UI.MaskableGraphic.raycastPadding", - "UnityEngine.UI.MaskableGraphic.depth", - "UnityEngine.UI.MaskableGraphic.rectTransform", - "UnityEngine.UI.MaskableGraphic.canvas", - "UnityEngine.UI.MaskableGraphic.canvasRenderer", - "UnityEngine.UI.MaskableGraphic.defaultMaterial", - "UnityEngine.UI.MaskableGraphic.material", - "UnityEngine.UI.MaskableGraphic.materialForRendering", - "UnityEngine.UI.MaskableGraphic.mainTexture", - "UnityEngine.UI.MaskableGraphic.destroyCancellationToken", - "UnityEngine.UI.MaskableGraphic.useGUILayout", - "UnityEngine.UI.MaskableGraphic.didStart", - "UnityEngine.UI.MaskableGraphic.didAwake", - "UnityEngine.UI.MaskableGraphic.enabled", - "UnityEngine.UI.MaskableGraphic.isActiveAndEnabled", - "UnityEngine.UI.MaskableGraphic.transform", - "UnityEngine.UI.MaskableGraphic.transformHandle", - "UnityEngine.UI.MaskableGraphic.gameObject", - "UnityEngine.UI.MaskableGraphic.tag", - "UnityEngine.UI.MaskableGraphic.name", - "UnityEngine.UI.MaskableGraphic.hideFlags", "UnityEngine.UI.RawImage.SetNativeSize", "UnityEngine.UI.RawImage.GetModifiedMaterial", "UnityEngine.UI.RawImage.Cull", @@ -16086,38 +15703,6 @@ public struct VsStubsAllowed "UnityEngine.UI.ToggleGroup.tag", "UnityEngine.UI.ToggleGroup.name", "UnityEngine.UI.ToggleGroup.hideFlags", - "UnityEngine.UI.BaseMeshEffect.ModifyMesh", - "UnityEngine.UI.BaseMeshEffect.IsActive", - "UnityEngine.UI.BaseMeshEffect.IsDestroyed", - "UnityEngine.UI.BaseMeshEffect.print", - "UnityEngine.UI.BaseMeshEffect.GetComponent", - "UnityEngine.UI.BaseMeshEffect.TryGetComponent", - "UnityEngine.UI.BaseMeshEffect.GetComponentInChildren", - "UnityEngine.UI.BaseMeshEffect.GetComponentsInChildren", - "UnityEngine.UI.BaseMeshEffect.GetComponentInParent", - "UnityEngine.UI.BaseMeshEffect.GetComponentsInParent", - "UnityEngine.UI.BaseMeshEffect.GetComponents", - "UnityEngine.UI.BaseMeshEffect.GetComponentIndex", - "UnityEngine.UI.BaseMeshEffect.CompareTag", - "UnityEngine.UI.BaseMeshEffect.GetEntityId", - "UnityEngine.UI.BaseMeshEffect.Equals", - "UnityEngine.UI.BaseMeshEffect.op_Implicit", - "UnityEngine.UI.BaseMeshEffect.Instantiate", - "UnityEngine.UI.BaseMeshEffect.Destroy", - "UnityEngine.UI.BaseMeshEffect.ToString", - "UnityEngine.UI.BaseMeshEffect.ReferenceEquals", - "UnityEngine.UI.BaseMeshEffect.destroyCancellationToken", - "UnityEngine.UI.BaseMeshEffect.useGUILayout", - "UnityEngine.UI.BaseMeshEffect.didStart", - "UnityEngine.UI.BaseMeshEffect.didAwake", - "UnityEngine.UI.BaseMeshEffect.enabled", - "UnityEngine.UI.BaseMeshEffect.isActiveAndEnabled", - "UnityEngine.UI.BaseMeshEffect.transform", - "UnityEngine.UI.BaseMeshEffect.transformHandle", - "UnityEngine.UI.BaseMeshEffect.gameObject", - "UnityEngine.UI.BaseMeshEffect.tag", - "UnityEngine.UI.BaseMeshEffect.name", - "UnityEngine.UI.BaseMeshEffect.hideFlags", "UnityEngine.UI.Outline.ModifyMesh", "UnityEngine.UI.Outline.IsActive", "UnityEngine.UI.Outline.IsDestroyed", diff --git a/Runtime/Objects/Loading/LoadingCage.mat b/Runtime/Objects/Loading/LoadingCage.mat index cd891fa0..c5801bd5 100644 --- a/Runtime/Objects/Loading/LoadingCage.mat +++ b/Runtime/Objects/Loading/LoadingCage.mat @@ -44,7 +44,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _DisolveGuide: - m_Texture: {fileID: 2800000, guid: cb74c2b5397ba6746b6e8b670cc9c669, type: 3} + m_Texture: {fileID: 2800000, guid: cda43b350f1657e428c83522b9b98cb4, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _EmissionMap: @@ -76,7 +76,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _ThumbDisolveGuide: - m_Texture: {fileID: 2800000, guid: cb74c2b5397ba6746b6e8b670cc9c669, type: 3} + m_Texture: {fileID: 2800000, guid: cda43b350f1657e428c83522b9b98cb4, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _ThumbMask: diff --git a/Runtime/Scripts/BanterLink/BanterLink.cs b/Runtime/Scripts/BanterLink/BanterLink.cs index 680a90b2..bd4178a6 100644 --- a/Runtime/Scripts/BanterLink/BanterLink.cs +++ b/Runtime/Scripts/BanterLink/BanterLink.cs @@ -133,22 +133,24 @@ async void ParseCommand(string msg) { scene.state = SceneState.SCENE_START; } - else if (msg.StartsWith(APICommands.DOM_READY)) - { - scene.state = SceneState.DOM_READY; - scene.events.OnDomReady.Invoke(); - scene.SetLoaded(); - } + // else if (msg.StartsWith(APICommands.DOM_READY)) + // { + // scene.state = SceneState.DOM_READY; + // scene.events.OnDomReady.Invoke(); + // scene.SetLoaded(); + // } else if (msg.StartsWith(APICommands.SCENE_READY)) { scene.state = SceneState.SCENE_READY; scene.events.OnSceneReady.Invoke(); LogLine.Do(LogLine.banterColor, LogTag.Banter, "Banter Scene Loaded."); + await new WaitForSeconds(2); await new WaitUntil(() => { scene.SetLoaded(); return scene.loaded; - }); + }); + LogLine.Do(LogLine.banterColor, LogTag.Banter, "After Banter Scene Loaded."); OnUnitySceneLoaded(); _ = TaskRunner.Run(async () => { @@ -613,7 +615,10 @@ void HandleMessage(string msg) } //end of debug stuff #endif - + if(msg.StartsWith(APICommands.SCENE_READY)) + { + Debug.Log("got scene ready"); + } if (msg.StartsWith(APICommands.REQUEST_ID)) { @@ -649,7 +654,6 @@ public void SetupPipe(OraView view, OraManager manager) batchUpdater = new BatchUpdater(pipe); pipe.Start(() => { - Debug.Log("HERER3 pipe.Start(() =>"); Connected?.Invoke(this, EventArgs.Empty); }, msg => { diff --git a/Runtime/Scripts/BanterLink/BanterPipe.cs b/Runtime/Scripts/BanterLink/BanterPipe.cs index 9c0af45a..5f78e72d 100644 --- a/Runtime/Scripts/BanterLink/BanterPipe.cs +++ b/Runtime/Scripts/BanterLink/BanterPipe.cs @@ -22,7 +22,6 @@ public BanterPipe(BanterLink link, OraView view, OraManager manager) public void Start(Action connectedCallback, Action msgCallback) { manager?.browserConnected.AddListener(() => connectedCallback()); - UnityEngine.Debug.Log("view.browserMessage.AddListener"); view.browserMessage.AddListener((reqId, command, data) => { msgCallback(data); diff --git a/Runtime/Scripts/BanterStarterUpper.cs b/Runtime/Scripts/BanterStarterUpper.cs index 40b08381..c917e33b 100644 --- a/Runtime/Scripts/BanterStarterUpper.cs +++ b/Runtime/Scripts/BanterStarterUpper.cs @@ -73,7 +73,6 @@ void Awake() currentCoroutine = StartCoroutine(unitySched.Coroutine()); } initialized = true; - Debug.Log("BanterStarterUpper initialized"); } scene = BanterScene.Instance(); diff --git a/Runtime/Scripts/Models/YtInfo/YtResponseContext.cs b/Runtime/Scripts/Models/YtInfo/YtResponseContext.cs index d80473ba..c122f136 100644 --- a/Runtime/Scripts/Models/YtInfo/YtResponseContext.cs +++ b/Runtime/Scripts/Models/YtInfo/YtResponseContext.cs @@ -6,4 +6,5 @@ public class YtResponseContext { public YtStreamingData streamingData; public YtPlayabilityStatus playabilityStatus; + public YtVideoDetails videoDetails; } \ No newline at end of file diff --git a/Runtime/Scripts/Models/YtInfo/YtThumbnail.cs b/Runtime/Scripts/Models/YtInfo/YtThumbnail.cs new file mode 100644 index 00000000..2de57985 --- /dev/null +++ b/Runtime/Scripts/Models/YtInfo/YtThumbnail.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; + +[Serializable] +public class YtThumbnail +{ + public string url; + public int width; + public int height; +} + +[Serializable] +public class YtThumbnailContainer +{ + public List thumbnails; +} diff --git a/Runtime/Scripts/Models/YtInfo/YtThumbnail.cs.meta b/Runtime/Scripts/Models/YtInfo/YtThumbnail.cs.meta new file mode 100644 index 00000000..f0822ad2 --- /dev/null +++ b/Runtime/Scripts/Models/YtInfo/YtThumbnail.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6ac034d9d289db4478b3262c5dca45e9 \ No newline at end of file diff --git a/Runtime/Scripts/Models/YtInfo/YtVideoDetails.cs b/Runtime/Scripts/Models/YtInfo/YtVideoDetails.cs new file mode 100644 index 00000000..432b3753 --- /dev/null +++ b/Runtime/Scripts/Models/YtInfo/YtVideoDetails.cs @@ -0,0 +1,14 @@ +using System; + +[Serializable] +public class YtVideoDetails +{ + public string videoId; + public string title; + public string lengthSeconds; + public string channelId; + public string shortDescription; + public string author; + public string viewCount; + public YtThumbnailContainer thumbnail; +} \ No newline at end of file diff --git a/Runtime/Scripts/Models/YtInfo/YtVideoDetails.cs.meta b/Runtime/Scripts/Models/YtInfo/YtVideoDetails.cs.meta new file mode 100644 index 00000000..132c45f4 --- /dev/null +++ b/Runtime/Scripts/Models/YtInfo/YtVideoDetails.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 43f741699f60460d999ed2b0fb56817a +timeCreated: 1772551675 \ No newline at end of file diff --git a/Runtime/Scripts/Scene/BanterScene.cs b/Runtime/Scripts/Scene/BanterScene.cs index c7a632f2..0518215c 100644 --- a/Runtime/Scripts/Scene/BanterScene.cs +++ b/Runtime/Scripts/Scene/BanterScene.cs @@ -536,6 +536,16 @@ public void YtInfo(string youtubeId, int reqId) headers ); var responseContext = JsonUtility.FromJson(videoInfo); + if (responseContext.videoDetails != null) + { + responseContext.videoDetails.title = responseContext.videoDetails.title?.Replace("|", "") ?? ""; + responseContext.videoDetails.shortDescription = responseContext.videoDetails.shortDescription?.Replace("|", "").Replace("\n", " ").Replace("\r", "") ?? ""; + if (responseContext.videoDetails.thumbnail?.thumbnails != null) + { + foreach (var t in responseContext.videoDetails.thumbnail.thumbnails) + t.url = t.url?.Replace("|", "") ?? ""; + } + } var cleanJson = JsonUtility.ToJson(responseContext); link.Send(APICommands.REQUEST_ID + MessageDelimiters.REQUEST_ID + reqId + MessageDelimiters.PRIMARY + APICommands.YT_INFO + MessageDelimiters.TERTIARY + cleanJson); // + MessageDelimiters.TERTIARY + mainFunction + MessageDelimiters.TERTIARY + subFunction }, $"{nameof(BanterScene)}.{nameof(YtInfo)}")); @@ -1998,8 +2008,11 @@ public async Task LoadUrl(string url, bool isLoadingOpen = false) } await ResetScene(); await ShowSpaceImage(url); + Debug.Log("Before LoadUrl"); await link.LoadUrl(url); + Debug.Log("After LoadUrl"); await new WaitUntil(() => loaded); + Debug.Log("After WaitUntil(() => loaded)"); LoadingStatus = "Please wait, loading live space..."; if (HasLoadFailed()) { diff --git a/Runtime/Scripts/Scene/Components/BanterBrowser.cs b/Runtime/Scripts/Scene/Components/BanterBrowser.cs index 415a9d57..05c76eb6 100644 --- a/Runtime/Scripts/Scene/Components/BanterBrowser.cs +++ b/Runtime/Scripts/Scene/Components/BanterBrowser.cs @@ -43,6 +43,7 @@ public class BanterBrowser : BanterComponentBase [Tooltip("A comma-separated list of actions to run after the page has loaded (e.g., 'click2d,0.5,0.5')")] [See(initial = "")][SerializeField] internal string actions; public UnityEvent OnReceiveBrowserMessage = new UnityEvent(); + public bool IsStreamingBrowser = false; [Method] public void _ToggleInteraction(bool enabled) { @@ -79,12 +80,12 @@ private void SetupBrowser(List changedProperties = null) if (browser == null) { #if BANTER_EDITOR - browser = Instantiate(Resources.Load("Prefabs/BanterBrowserBuild"), transform); + browser = Instantiate(Resources.Load(IsStreamingBrowser?"Prefabs/BanterBrowserStreaming":"Prefabs/BanterBrowserBuild"), transform); #else browser = Instantiate(Resources.Load("Prefabs/BanterBrowser"), transform); #endif browser.name = "BanterBrowser"; - browser.SendMessage("RunActions", actions); + browser.SendMessage("RunActions", string.IsNullOrEmpty(actions)?"":actions); } if (changedProperties?.Contains(PropertyName.url) ?? true && !string.IsNullOrEmpty(url)) diff --git a/Runtime/Scripts/Utils/AddPanelStuff.cs b/Runtime/Scripts/Utils/AddPanelStuff.cs index dc1dff69..35eb40bd 100644 --- a/Runtime/Scripts/Utils/AddPanelStuff.cs +++ b/Runtime/Scripts/Utils/AddPanelStuff.cs @@ -36,14 +36,12 @@ private void WaitForRuntimePanel() _raycaster = GetComponent(); if (_raycaster != null) { - Debug.Log($"[AddPanelStuff] Assigning PanelRaycaster's panel to {gameObject.name} UIDocument's runtimePanel."); _raycaster.panel = uIDocument.runtimePanel; } var eventHandler = GetComponent(); if (eventHandler != null) { - Debug.Log($"[AddPanelStuff] Assigning PanelEventHandler's panel to {gameObject.name} UIDocument's runtimePanel."); eventHandler.panel = uIDocument.runtimePanel; } diff --git a/Runtime/Scripts/Utils/DontDestroyOnLoad.cs b/Runtime/Scripts/Utils/DontDestroyOnLoad.cs index 243ed446..fdfbae60 100644 --- a/Runtime/Scripts/Utils/DontDestroyOnLoad.cs +++ b/Runtime/Scripts/Utils/DontDestroyOnLoad.cs @@ -4,11 +4,12 @@ namespace Banter.SDK { + [DefaultExecutionOrder(-9999)] public class DontDestroyOnLoad : MonoBehaviour { - void Start() + void Awake() { - DontDestroyOnLoad(this); + DontDestroyOnLoad(this.gameObject); } } }