MainProperty.main()
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-16 21:49:12 |
👁️ 阅读: 6
`MainProperty.main()` 是 `MainProperty` 脚本的入口函数,负责初始化主属性界面。以下是它的主要执行流程:
1. **获取父节点并加载界面**:
```lua
local parent = GUI:Attach_Parent()
GUI:LoadExport(parent, "main/main_property_win32")
MainProperty._ui = GUI:ui_delegate(parent)
```
2. **读取配置并初始化数据**:
```lua
MainProperty._selectBtnShow = SL:GetMetaValue("GAME_DATA", "PCShowSelectChannels") and true or false
MainProperty._NGShow = tonumber(SL:GetMetaValue("GAME_DATA", "OpenNGUI")) == 1 and SL:GetMetaValue("IS_LEARNED_INTERNAL")
MainProperty.InitDropData()
```
3. **初始化各个功能面板**:
```lua
MainProperty.InitHPPanel()
MainProperty.InitActPanel()
MainProperty.InitChatPanel()
MainProperty.InitAutoSFXTips()
MainProperty.InitPickButton()
MainProperty.InitQuickUseShow()
```
4. **设置时钟定时器**:
```lua
local function callback()
local date = os.date("*t", SL:GetMetaValue("SERVER_TIME"))
GUI:Text_setString(MainProperty._ui.Text_time, string.format("%02d:%02d:%02d", date.hour, date.min, date.sec))
end
local timeID = SL:Schedule(callback, 1)
```
5. **设置FPS帧率显示**:
```lua
SL:Schedule(
function()
sumFps = sumFps + SL:GetMetaValue("FPS")
count = count + 1
end,
0
)
```
6. **注册事件和自定义初始化**:
```lua
MainProperty.RegisterEvent()
MainProperty.InitCustom()
```
这个函数通常在游戏启动时调用,用于创建和设置屏幕底部的主属性栏(包含HP/MP条、时间、聊天、自动战斗等UI元素)。
← 返回问答库