You get latest content at a time when data will updated
Automaticaly take backup as par schedule
Allow to show public user message
[code_highlight language="php" show_line_numbers="false...
import { LayerType, UIConfig } from "../../../../../extensions/oops-plugin-framework/assets/core/gui/layer/LayerManager";
/** 界面唯一标识(方便服务器通过编号数据触发界面打开) */
export enum UIID {
/** 资源加载界面 */
Loading,
/** 弹窗界面 */
Window,
/** 加载与延时提示界面 */
Netinstable,
/** 登录界面 */
Demo_Gate,
/** 角色控制器 */
Demo_Role_Controller,
/** 匹配界面 */
Demo_Match,
}
/** 打开界面方式的配置数据 */
export var UIConfigData: { [key: number]: UIConfig } = {
[UIID.Loading]: { layer: LayerType.UI, prefab: "loading/prefab/loading" },
[UIID.Netinstable]: { layer: LayerType.PopUp, prefab: "common/prefab/netinstable" },
[UIID.Window]: { layer: LayerType.Dialog, prefab: "common/prefab/window" },
[UIID.Demo_Gate]: { layer: LayerType.UI, prefab: "gui/gate/game_login" },
[UIID.Demo_Role_Controller]: { layer: LayerType.UI, prefab: "gui/game/role_controller" },
[UIID.Demo_Match]: { layer: LayerType.UI, prefab: "gui/match/match" },
}
import { LayerType, UIConfig } from "../../../../../extensions/oops-plugin-framework/assets/core/gui/layer/LayerManager";
– 这行代码从 `LayerManager` 文件中导入了 `LayerType` 和 `UIConfig`。
– `LayerType`:可能是一个枚举或常量,定义了界面所处的层次(例如:UI、弹窗、对话框等不同的界面层)。
– `UIConfig`:定义了每个界面的配置结构,包含界面的一些信息,比如在哪一层(`layer`)显示和使用哪个预制体(`prefab`)。
export enum UIID {
Loading,
Window,
Netinstable,
Demo_Gate,
Demo_Role_Controller,
Demo_Match,
}
– `UIID` 是一个枚举类型,列出了应用中的各种界面唯一标识符(ID),方便通过编号引用界面。这些 ID 有助于在不同地方统一管理界面的调用,减少硬编码的字符串。
– `Loading`:资源加载界面。
– `Window`:弹窗界面。
– `Netinstable`:网络不稳定提示界面。
– `Demo_Gate`:登录界面。
– `Demo_Role_Controller`:角色控制器界面。
– `Demo_Match`:匹配界面。
export var UIConfigData: { [key: number]: UIConfig } = {
[UIID.Loading]: { layer: LayerType.UI, prefab: "loading/prefab/loading" },
[UIID.Netinstable]: { layer: LayerType.PopUp, prefab: "common/prefab/netinstable" },
[UIID.Window]: { layer: LayerType.Dialog, prefab: "common/prefab/window" },
[UIID.Demo_Gate]: { layer: LayerType.UI, prefab: "gui/gate/game_login" },
[UIID.Demo_Role_Controller]: { layer: LayerType.UI, prefab: "gui/game/role_controller" },
[UIID.Demo_Match]: { layer: LayerType.UI, prefab: "gui/match/match" },
}
– `UIConfigData` 是一个对象,它将 `UIID` 的每个枚举值与一个配置对象绑定,配置对象定义了界面的显示层次和使用的预制体路径。
– **Key(键)**:使用枚举 `UIID` 中的值(例如 `UIID.Loading`),作为该界面的唯一标识符。
– **Value(值)**:是一个 `UIConfig` 对象,定义了两个字段:
1. `layer`:界面所属的层次。这里的层次由 `LayerType` 枚举定义。例如 `LayerType.UI` 表示一般的 UI 层,`LayerType.PopUp` 表示弹出层,`LayerType.Dialog` 表示对话框层。
2. `prefab`:界面预制体的路径,通常是一个 `.prefab` 文件的路径,用于动态加载界面资源。
#
– `[UIID.Loading]`:位于 `UI` 层,使用 `loading/prefab/loading` 这个预制体,表示资源加载界面。
– `[UIID.Netinstable]`:位于 `PopUp` 弹出层,使用 `common/prefab/netinstable` 预制体,显示网络不稳定的提示。
– `[UIID.Window]`:位于 `Dialog` 对话框层,使用 `common/prefab/window` 预制体,弹出窗口界面。
– 其他几个界面类似,它们都位于 `UI` 层,且指定了各自对应的预制体路径。
这段代码定义了一个界面管理系统,通过枚举 `UIID` 来统一标识不同的界面,并为每个界面提供一个配置对象 `UIConfigData`,配置了显示层次和资源路径。这样做的好处是提高了界面管理的可维护性和灵活性,便于在程序中通过 ID 动态加载和显示不同界面。
Tags: UIConfigData