using System; using System.Collections.Generic; using System.ComponentModel; using Cysharp.Threading.Tasks; using Framework; using Framework.Wrapper; using Gameplay; using Gameplay.Area; using Gameplay.Character; using Gameplay.Level; using Gameplay.SubSystems; using PhxhSDK; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.ResourceManagement; using UnityEngine.UI; using CharacterInfo = Gameplay.Net.CharacterInfo; using Constants = Framework.Constants; using Object = UnityEngine.Object; public partial class SROptions { private List _testSpriteList = new(); [Category("Test")] public void TestPureReferenceStart() { var path = "Assets/Art/UI/Texture/Poster/Poster_Default/Poster_A00001.png"; var sprite = Addressables.LoadAssetAsync(path).WaitForCompletion(); _testSpriteList.Add(sprite); Debug.LogError($"TestMonoScriptReferenceStart:{_testSpriteList[0].name}"); } [Category("Test")] public void TestPureReferenceEnd1() { Addressables.Release(_testSpriteList[0]); _testSpriteList.Clear(); Resources.UnloadUnusedAssets(); Debug.LogError($"TestMonoScriptReferenceEnd1"); } [Category("Test")] public void TestPureReferenceEnd2() { _testSpriteList.Clear(); Addressables.Release(_testSpriteList[0]); Debug.LogError($"TestMonoScriptReferenceEnd2"); } [Category("Test")] public void TestPureReferenceEnd3() { Addressables.Release(_testSpriteList[0]); _testSpriteList.Clear(); Debug.LogError($"TestMonoScriptReferenceEnd3"); } private Texture2D _tex; [Category("Test")] public void TestSingleInABStart() { var path = "Assets/Art/AutoGen/PostProcessScenes/Assets_Scenes_CampScene/Combined/NLD_URP_NLD_Scene_Lambert/CombieMaskTex.png"; _tex = Addressables.LoadAssetAsync(path).WaitForCompletion(); Debug.LogError($"TestSingleInABStart"); } [Category("Test")] public void TestSingleInABEnd1() { Addressables.Release(_tex); Debug.LogError($"TestSingleInABEnd1"); } [Category("Test")] public void TestSingleInABEnd2() { _tex = null; Addressables.Release(_tex); Debug.LogError($"TestSingleInABEnd2"); } [Category("Test")] public void TestSingleInABEnd3() { _tex = null; Addressables.Release(_tex); Resources.UnloadUnusedAssets(); Debug.LogError($"TestSingleInABEnd3"); } private TestUnityObjectReference TestUnityObjectReference { get { var result = Object.FindObjectOfType(); if (result == null) { var go = new GameObject("test"); result = go.AddComponent(); } return result; } } [Category("Test")] public void TestUnityObjectReferenceStart() { TestUnityObjectReference.ImageTestStart(); } [Category("Test")] public void TestUnityObjectReferenceEnd() { TestUnityObjectReference.ImageTestEnd(); } [Category("Test")] public void TestSpriteReferenceStart() { TestUnityObjectReference.SpriteTestStart(); } [Category("Test")] public void TestSpriteReferenceEnd() { TestUnityObjectReference.SpriteTestEnd(); } [Category("Test")] public void TestRendererReferenceStart() { TestUnityObjectReference.RendererTestStart(); } [Category("Test")] public void TestRendererReferenceEnd() { TestUnityObjectReference.RenderTestEnd(); } // [Category("Test")] // public void TestUnityObjectSerializableReferenceStart() // { // TestUnityObjectReference.TestSerializable(); // } // // [Category("Test")] // public void TestUnityObjectSerializableReferenceEnd() // { // TestUnityObjectReference.TestSerializableEnd(); // } // [Category("Test")] // public void TestSingleUnityObjectReferenceStart() // { // TestUnityObjectReference.TestSingleStart(); // } // // [Category("Test")] // public void TestSingleUnityObjectReferenceEnd() // { // TestUnityObjectReference.TestSingleEnd(); // } // // [Category("Test")] // public void TestSingleSerializableUnityObjectReferenceStart() // { // TestUnityObjectReference.TestSingleSerializableStart(); // } // // [Category("Test")] // public void TestSingleSerializableUnityObjectReferenceEnd() // { // TestUnityObjectReference.TestSingleSerializableEnd(); // } // private Image _image; // private GameObject _instance; // private GameObject _prefab; // // [Category("Test")] // public void TestPrefabReferenceStart() // { // var path = "Assets/Art/UI/TestPrefabReference.prefab"; // _prefab = Addressables.LoadAssetAsync(path).WaitForCompletion(); // _instance = Object.Instantiate(_prefab); // _image = _instance.GetComponent(); // Debug.LogError($"TestPrefabReferenceStart {_image.sprite.name}"); // } // // [Category("Test")] // public void TestPrefabReferenceEnd() // { // Object.Destroy(_instance); // Addressables.Release(_prefab); // Debug.LogError($"TestPrefabReferenceEnd {_image.sprite == null}"); // } }