com.soviby.unity.ui.ugui-to.../Assets/Editor/Manager/GlobalManager.cs

62 lines
1.6 KiB
C#
Raw Normal View History

2024-10-23 17:30:59 +00:00
#if UNITY_EDITOR
2024-10-28 16:31:38 +00:00
using System;
2024-10-23 17:30:59 +00:00
using UguiToolkit.Editor;
2024-10-21 16:20:39 +00:00
using UnityEditor;
using UnityEngine;
2024-10-08 15:19:05 +00:00
namespace UguiToolkit
{
public class GlobalManager
{
private static GlobalManager m_instance;
public static GlobalManager Instance
{
get
{
if (m_instance == null)
{
m_instance = new();
}
return m_instance;
}
}
public SettingScriptObject setting;
public CacheScriptObject cache;
2024-10-21 16:20:39 +00:00
2024-12-09 11:18:10 +00:00
public PanelCache GetCache(GameObject asset, bool isVertical = false)
{
if (cache.panelCaches.TryGetValue(asset, out var allDirectionPanelCache))
{
if (isVertical) return allDirectionPanelCache.panelCacheOfVertical;
else return allDirectionPanelCache.panelCacheOfHorizontal;
}
return null;
}
public void SaveCache(GameObject asset, PanelCache panelCache)
{
2024-12-09 11:18:10 +00:00
if (!cache.panelCaches.TryGetValue(asset, out var allDirectionPanelCache))
{
cache.panelCaches[asset] = new AllDirectionPanelCache();
}
if (panelCache.isVertical)
cache.panelCaches[asset].panelCacheOfVertical = panelCache;
else
cache.panelCaches[asset].panelCacheOfHorizontal = panelCache;
SaveCache();
}
2024-10-28 16:31:38 +00:00
2024-10-21 16:20:39 +00:00
public void SaveCache()
{
EditorUtility.SetDirty(cache);
AssetDatabase.SaveAssetIfDirty(cache);
}
2024-10-08 15:19:05 +00:00
}
2024-10-23 17:30:59 +00:00
}
#endif