# 通用设置

# CloseSettingUI

客户端

method in mod.client.component.neteaseWindowCompClient.NeteaseWindowCompClient

  • 描述

    关闭模组信息界面

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否关闭成功
  • 备注

    • 该接口在modPC环境下,将是关闭局内json ui
  • 示例

import mod.client.extraClientApi as clientApi
levelId = clientApi.GetLevelId()
comp = clientApi.GetEngineCompFactory().CreateNeteaseWindow(levelId)
# 关闭界面
result = comp.CloseSettingUI()

# GetSettingInst

客户端

method in mod.client.component.neteaseWindowCompClient.NeteaseWindowCompClient

  • 描述

    获取当前模组的通用设置实例

  • 参数

    参数名
    数据类型
    说明
    modNamespace str 组件命名空间,需唯一性,仅在开发环境预览使用
  • 返回值

    数据类型
    说明
    SettingInst 返回实例对象,未注册则返回None
  • 备注

    • 请先使用RegisterSettingInst注册,再使用GetSettingInst获取。
    • 开发环境中,将会获取modNamespace对应的通用设置实例;正式环境中则仅能获取当前模组注册的实例。
    • 建议不要在__init__的时候就获取实例,过早获取会返回None。
  • 示例

import mod.client.extraClientApi as clientApi
levelId = clientApi.GetLevelId()
comp = clientApi.GetEngineCompFactory().CreateNeteaseWindow(levelId)
settingInst = comp.GetSettingInst()
if settingInst:
    settingInst.AddText("text_uid_01", "这是一段文字").AddToggle("toggle_uid_01", "开关按钮", False, callbackFunction)

# OpenSettingUI

客户端

method in mod.client.component.neteaseWindowCompClient.NeteaseWindowCompClient

  • 描述

    在模组信息界面中打开设置页面(此操作仅可访问本模组的配置选项)

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否打开成功
  • 备注

    • 该接口在modPC环境下,将是打开局内json ui
  • 示例

import mod.client.extraClientApi as clientApi
levelId = clientApi.GetLevelId()
comp = clientApi.GetEngineCompFactory().CreateNeteaseWindow(levelId)
# 打开界面
result = comp.OpenSettingUI()

# RegisterSettingInst

客户端

method in mod.client.component.neteaseWindowCompClient.NeteaseWindowCompClient

  • 描述

    注册通用设置实例

  • 参数

    参数名
    数据类型
    说明
    modNamespace str 组件命名空间,需唯一性,仅在开发环境预览使用
    modName str 组件名字,默认为None,仅在开发环境预览使用
    iconPath str 组件icon图路径,默认为None,仅在开发环境预览使用
  • 返回值

    数据类型
    说明
    SettingInst 返回实例对象,系统未初始化则返回None
  • 备注

    • 每个模组仅能注册一个通用设置实例,重复注册会返回同样的实例。
    • 建议在UiInitFinished触发时再注册,注册过早会导致注册失败而返回None。
    • 设置界面的注册是通过Scripts文件夹名称来判断是由哪个模组注册的实例,开发者的Scripts名称需要确保不与其他模组作者的Scripts名称冲突。
  • 示例

import mod.client.extraClientApi as clientApi
levelId = clientApi.GetLevelId()
comp = clientApi.GetEngineCompFactory().CreateNeteaseWindow(levelId)
settingInst = comp.RegisterSettingInst("123456789", "模组1", "textures/ui/abc")
if settingInst:
    settingInst.AddText("text_uid_01", "这是一段文字").AddToggle("toggle_uid_01", "开关按钮", False, callbackFunction)

# SettingInst 下的方法

# Clear

清除所有控件。

def Clear(self)
  • 参数

  • 返回值


# AddText

添加文本控件。

def AddText(self, key, name, priority=None)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    name str 控件的文字描述
    priority int或None 显示顺序优先级,默认根据添加顺序排列
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# AddToggle

添加开关控件。

def AddToggle(self, key, name, callback, priority=None, default=False)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    name str 控件的文字描述
    callback function 控件的回调函数,定义:def callback(key, value),key为控件id,value为bool类型
    priority int或None 显示顺序优先级,默认根据添加顺序排列
    default bool 默认值,默认为False
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# AddSlider

添加滑动条控件。

def AddSlider(self, key, name, step, callback, priority=None, default=0)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    name str 控件的文字描述
    step int 滑动条的最大值,范围:0~step
    callback function 控件的回调函数,定义:def callback(key, value),key为控件id,value为int类型
    priority int或None 显示顺序优先级,默认根据添加顺序排列
    default int 默认值,默认为0
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# AddDropDown

添加下拉选项控件。

def AddDropDown(self, key, name, options, callback, priority=None, default=None)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    name str 控件的文字描述
    options list[str] 下拉选项列表
    callback function 控件的回调函数,定义:def callback(key, value),key为控件id,value为选项索引int类型
    priority int或None 显示顺序优先级,默认根据添加顺序排列
    default str或None 默认选项,该值需在options中
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# AddInput

添加输入框控件。

def AddInput(self, key, name, callback, priority=None, default="")
  • 参数

    参数名 数据类型 说明
    key str 控件id
    name str 控件的文字描述
    callback function 控件的回调函数,定义:def callback(key, value),key为控件id,value为str类型
    priority int或None 显示顺序优先级,默认根据添加顺序排列
    default str 默认显示的文本,默认为空字符串
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# AddButton

添加按钮控件。

def AddButton(self, key, name, buttonText, callback, priority=None)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    name str 控件的文字描述
    buttonText str 按钮的文字描述
    callback function 控件的回调函数,定义:def callback(key, value),key为控件id,value为None
    priority int或None 显示顺序优先级,默认根据添加顺序排列
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# GetToggleDefault

获取开关控件的默认值。

def GetToggleDefault(self, key)
  • 参数

    参数名 数据类型 说明
    key str 控件id
  • 返回值

    数据类型 说明
    bool 开关状态

# GetInputDefault

获取输入框的默认输入文本。

def GetInputDefault(self, key)
  • 参数

    参数名 数据类型 说明
    key str 控件id
  • 返回值

    数据类型 说明
    str 输入框的文本

# GetDropDownDefault

获取下拉选项控件的默认值。

def GetDropDownDefault(self, key)
  • 参数

    参数名 数据类型 说明
    key str 控件id
  • 返回值

    数据类型 说明
    str 默认选项在列表中的索引

# GetSliderDefault

获取滑动条控件的默认值。

def GetSliderDefault(self, key)
  • 参数

    参数名 数据类型 说明
    key str 控件id
  • 返回值

    数据类型 说明
    int 滑块的值

# GetText

获取文字控件的文本。

def GetText(self, key)
  • 参数

    参数名 数据类型 说明
    key str 控件id
  • 返回值

    数据类型 说明
    str 显示的文本

# GetButtonText

获取按钮控件的文字。

def GetButtonText(self, key)
  • 参数

    参数名 数据类型 说明
    key str 控件id
  • 返回值

    数据类型 说明
    str或None 按钮文字,控件不存在时返回 None

# GetToggleValue

获取开关控件的当前值。

def GetToggleValue(self, key)
  • 参数

    参数名 数据类型 说明
    key str 控件id
  • 返回值

    数据类型 说明
    bool或None 开关状态,控件不存在时返回 None

# GetSliderValue

获取滑动条控件的当前值。

def GetSliderValue(self, key)
  • 参数

    参数名 数据类型 说明
    key str 控件id
  • 返回值

    数据类型 说明
    int或None 滑块的值,控件不存在时返回 None

# GetDropDownValue

获取下拉选项控件的当前选中文本。

def GetDropDownValue(self, key)
  • 参数

    参数名 数据类型 说明
    key str 控件id
  • 返回值

    数据类型 说明
    str或None 选中的文本,控件不存在时返回 None

# GetInputValue

获取输入框控件的当前值。

def GetInputValue(self, key)
  • 参数

    参数名 数据类型 说明
    key str 控件id
  • 返回值

    数据类型 说明
    str或None 输入的文本,控件不存在时返回 None

# SetToggleDefault

设置开关控件的默认值。

def SetToggleDefault(self, key, value)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    value bool 开关的值
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# SetInputDefault

设置输入框控件的默认文本。

def SetInputDefault(self, key, value)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    value str 显示的文本
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# SetDropDownDefault

设置下拉选项控件的默认选项。

def SetDropDownDefault(self, key, option)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    option str 选项文字,如文字不在选项列表里,会自动添加到列表
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# SetSliderDefault

设置滑动条控件的默认值。

def SetSliderDefault(self, key, value)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    value int 滑块的值
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# SetToggleValue

设置开关控件的当前值,保存到本地存储,不会触发回调。

def SetToggleValue(self, key, value)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    value bool 开关的值
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# SetSliderValue

设置滑动条控件的当前值,保存到本地存储,不会触发回调。

def SetSliderValue(self, key, value)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    value int 滑块的值
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# SetDropDownValue

设置下拉选项控件的当前值,保存到本地存储,不会触发回调。

def SetDropDownValue(self, key, value)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    value str 选项文本,如果选项不在options中,则设置失败
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# SetInputValue

设置输入框控件的当前值,保存到本地存储,不会触发回调。

def SetInputValue(self, key, value)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    value str 输入的文本
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# SetButtonText

设置按钮控件的文字。

def SetButtonText(self, key, value)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    value str 显示的文字
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# SetText

设置文本控件的值。

def SetText(self, key, value)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    value str 显示的文本
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# SetLockSettingComp

设置锁定控件,锁定后无法点击。

def SetLockSettingComp(self, key, is_locked)
  • 参数

    参数名 数据类型 说明
    key str 控件id
    is_locked bool 是否锁定
  • 返回值

    数据类型 说明
    SettingInst 当前实例,支持链式调用

# GetFormatData

获取当前实例的结构化数据,控件数据根据priority的值升序排序。

def GetFormatData(self)
  • 参数

  • 返回值

    数据类型 说明
    dict 结构化数据
  • 返回格式

    {
        "modId": "str  // 模组ID",
        "name": "str  // 名称",
        "icon": "str  // 图标路径",
        "settings": "list  // 设置项列表,按priority升序排序"
    }
    

# GetSettingsControl

获取控件的结构化数据。

def GetSettingsControl(self, key)
  • 参数

    参数名 数据类型 说明
    key str 控件id
  • 返回值

    数据类型 说明
    dict 控件的结构化数据

# GetModId

获取实例的modId。

def GetModId(self)
  • 参数

  • 返回值

    数据类型 说明
    str 模组ID

# GetAutoPriority

获取自动设置的优先级的值。

def GetAutoPriority(self)
  • 参数

  • 返回值

    数据类型 说明
    int 当前自动优先级的值
  • 备注

    当添加控件时,如果不设置优先级,则会自动从0开始设置。优先级会影响控件排列顺序,升序排列。