LaboratoryProtection/Assets/PMaker/UI/Scripts/UIKit.cs

31 lines
828 B
C#

using PMaker.DependencyInjection;
namespace PMaker.UI
{
// 函数式, 链式调用优化 性能-- 爽++
public static class UIKit
{
public static T ShowPage<T>() where T : class, IPage
{
var presenter = IoC.GetSingleton<UIPresenter>();
presenter.ShowPage<T>();
var page = presenter[typeof(T).Name];
return page as T;
}
public static T HidePage<T>() where T : class, IPage
{
var presenter = IoC.GetSingleton<UIPresenter>();
presenter.HidePage<T>();
var page = presenter[typeof(T).Name];
return page as T;
}
public static T GetPage<T>() where T : class, IPage
{
return IoC.GetSingleton<UIPresenter>()[typeof(T).Name] as T;
}
}
}