NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Debug/SROptions.Test.cs

152 lines
4.1 KiB
C#

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<Sprite> _testSpriteList = new();
[Category("Test")]
public void TestMonoScriptReferenceStart()
{
var path =
"Assets/Art/UI/Texture/Poster/Poster_Default/Poster_A00001.png";
var sprite = Addressables.LoadAssetAsync<Sprite>(path).WaitForCompletion();
_testSpriteList.Add(sprite);
Debug.LogError($"TestMonoScriptReferenceStart:{_testSpriteList[0].name}");
}
[Category("Test")]
public void TestMonoScriptReferenceEnd()
{
Addressables.Release(_testSpriteList[0]);
Resources.UnloadUnusedAssets();
Debug.LogError($"TestMonoScriptReferenceEnd:{_testSpriteList[0].name}");
}
private TestUnityObjectReference TestUnityObjectReference
{
get
{
var result = Object.FindObjectOfType<TestUnityObjectReference>();
if (result == null)
{
var go = new GameObject("test");
result = go.AddComponent<TestUnityObjectReference>();
}
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<GameObject>(path).WaitForCompletion();
_instance = Object.Instantiate(_prefab);
_image = _instance.GetComponent<Image>();
Debug.LogError($"TestPrefabReferenceStart {_image.sprite.name}");
}
[Category("Test")]
public void TestPrefabReferenceEnd()
{
Object.Destroy(_instance);
Addressables.Release(_prefab);
Debug.LogError($"TestPrefabReferenceEnd {_image.sprite == null}");
}
}