Profile Image
3
Josephin DoeTyping . .
Profile Image
1
Lary Doeonline
Profile Image
Aliceonline
Profile Image
1
Alia10 min ago
Profile Image
Suzen15 min ago
Profile Image
3
Josephin DoeTyping . .
Profile Image
1
Lary Doeonline
Profile Image
Aliceonline
Profile Image
1
Alia10 min ago
Profile Image
Suzen15 min ago
Profile Image
3
Josephin DoeTyping . .
Profile Image
1
Lary Doeonline
Profile Image
Aliceonline

New Group

New Contact

Profile Image

Josephin Doei am not what happened . .

Profile Image
Lary DoeAvalable
Profile Image
Alicehear using Dasho
A
AliaAvalable
Profile Image
SuzenAvalable
JD
Josephin DoeDon't send me image
Profile Image
Lary Doenot send free msg
Desktop settings

You get latest content at a time when data will updated

Application settings

Automaticaly take backup as par schedule

System settings

Allow to show public user message

Josephin Doe
Profile Image

hello tell me something

about yourself?

8:20 a.m.

Ohh! very nice

8:22 a.m.

Profile Image
Profile Image

can you help me?

8:20 a.m.

文章详情

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" },
}

代码解释:
这段代码定义了一个界面系统的配置,包含界面唯一标识符 `UIID` 以及相应的界面配置 `UIConfigData`。以下是详细解读:

1. **导入语句**

import { LayerType, UIConfig } from "../../../../../extensions/oops-plugin-framework/assets/core/gui/layer/LayerManager";

– 这行代码从 `LayerManager` 文件中导入了 `LayerType` 和 `UIConfig`。
– `LayerType`:可能是一个枚举或常量,定义了界面所处的层次(例如:UI、弹窗、对话框等不同的界面层)。
– `UIConfig`:定义了每个界面的配置结构,包含界面的一些信息,比如在哪一层(`layer`)显示和使用哪个预制体(`prefab`)。

2. **枚举 `UIID`**

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`:匹配界面。

3. **`UIConfigData` 配置对象**

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:

发表评论