【m】1111
This commit is contained in:
64
Assets/06.UIFarme/RunTime/UIFramework/UIViewBase/UIConfig.cs
Normal file
64
Assets/06.UIFarme/RunTime/UIFramework/UIViewBase/UIConfig.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
using YooAsset;
|
||||
|
||||
namespace Stary.Evo
|
||||
{
|
||||
[System.Serializable]
|
||||
public class UIConfigJson
|
||||
{
|
||||
public string uiType;
|
||||
public string pathId;
|
||||
public string path;
|
||||
public bool isWindow;
|
||||
public UILayer uiLayer;
|
||||
}
|
||||
[CreateAssetMenu(menuName = "Evo/UIConfig")]
|
||||
public class UIConfig : ScriptableObject
|
||||
{
|
||||
public string domain;
|
||||
public List<UIConfigJson> uiConfigJsons;
|
||||
|
||||
private const string UIConfigPath = "Assets/UI/UISystemPackage/UIConfig.json";
|
||||
public const string UIPackageName = "PanelPackage";
|
||||
|
||||
public List<UIConfigJson> GetAllConfigs()
|
||||
{
|
||||
if (uiConfigJsons.Count > 0)
|
||||
{
|
||||
return uiConfigJsons;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("No UIConfigs found in domain: " + domain);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Type GetType(string typeName)
|
||||
{
|
||||
var type = Type.GetType(typeName);
|
||||
if (type != null)
|
||||
{
|
||||
return type;
|
||||
}
|
||||
|
||||
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
|
||||
foreach (System.Reflection.Assembly assembly in assemblies)
|
||||
{
|
||||
type = Type.GetType(string.Format("{0}, {1}", typeName, assembly.FullName));
|
||||
if (type != null)
|
||||
{
|
||||
return type;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user