Skip to content

UI 系统

高凯 edited this page Nov 30, 2017 · 1 revision

UI 系统

UI管理器打开方式为:Window -> UI编辑器工具

UI编辑器工具

创建 UIManager:

选择UIManger选项卡 :
选择分辨率
选择是否只有一个UI摄像机,是否竖屏等。
点击创建UIManager

创建 UI:

选择创建UI 选项卡 :
输入 UI Name,
选择 UIType,UIType用于设置UI之间的遮挡关系,这个还可以在创建好的预设里再改。
UIType 分为 5种 GameUI,Fixed,Normal,Top Bar,Pop Up
 GameUI在UI分层中的最底层,一般用于游戏里面的血条,浮动UI等。
 Fixed在GameUI层之上,一般用于常驻的UI如主城UI。
 Normal在Fixed之上,一般用于普通UI,例如商店。
 TopBar在normal之上 ,一般用于常驻的置顶显示的UI,例如体力和金钱UI。
 Pop UP在最上层,一般用来显示弹窗。

选择是否使用Lua,如果是,则自动绑定Lua适配脚本,并创建对应的Lua文件。
如果否,则自动创建并绑定C#脚本。

在正确的输入了UI的名字后,点击创建UI脚本,框架会自动创建一个名为 UIName+Window后缀的类在Script/UI/UINameWindow文件夹下。
待Unity编译完成后,再点击创建UI,会自动创建一个绑定了UINameWindow的预设在Resources/UI/UINameWindow文件夹下。

创建了新的UI之后,记得在打包设置管理器重新生成下资源清单文件。

创建UI模板:

  文档完善中。

创建UI风格:

  文档完善中。

API

UI通过UIManager管理

打开一个UI
public static UIWindowBase OpenUIWindow(string UIName, UICallBack callback = null, params object[] objs)
打开一个指定类型的UI
public static T OpenUIWindow<T>() where T : UIWindowBase
关闭一个UI
public static void CloseUIWindow(UIWindowBase UI,bool isPlayAnim = true ,UICallBack callback = null, params object[] objs)
关闭一个UI
public static void CloseUIWindow(string UIname, bool isPlayAnim = true, UICallBack callback = null, params object[] objs)
关闭一个指定类型的UI
public static void CloseUIWindow<T>(bool isPlayAnim = true, UICallBack callback = null, params object[] objs) where T : UIWindowBase

文档完善中

示例

public class GameStatus : IApplicationStatus 
{

    public override void OnEnterStatus()
    {
        OpenUI<GameWindow>();

        UIManager.OpenUIWindow<ShopWindow>();
    }
}
Clone this wiki locally