Mod制作教程2 交互栏 - WorldBoxOpenMods/ModLoader GitHub Wiki

创建并管理你的PowersTab

游戏中的交互栏是由PowersTab来管理的, 你可以在其中添加你自己的按钮.

ModLoader提供了一系列的方法来帮助你轻松的创建和管理你的PowersTab.

1. 创建你的PowersTab

在NeoModLoader.General.UI.Tab中, 有一个TabManager类, 你可以使用它来轻松的创建你的PowersTab.

下面是一个示例:

var iconSprite = SpriteTextureLoader.getSprite("ui/icons/iconKingdomZones");
var tab = TabManager.CreateTab("TabId", "TabDisplayName's Key", "TabDescription's Key", iconSprite);

其中, "TabId"为你的PowersTab的Id(请确保与其他模组添加的不同), "TabDisplayName's Key"为你的PowersTab的显示名称的键, "TabDescription's Key"为你的PowersTab的描述的键, iconSprite为你的PowersTab的图标的Sprite对象.

返回得到的tab为你的PowersTab实例.

别忘了添加对NeoModLoader.General.UI.Tab的using(提醒记事本/无配置的VSCode玩家).

2. 设置PowersTab的布局

NeoModLoader.General.UI.Tab.PowersTabExtension为PowersTab提供了一系列的拓展方法, 你可以使用它们来控制你的PowersTab的布局.

下面是一个示例:

tab.SetLayout(new List<string>(){
    "mod_info", "creatures", "tile_brush"
});
tab.AddPowerButton("mod_info", showModInfoPowerButton);
tab.AddPowerButton("creatures", spawnHumanPowerButton);
tab.AddPowerButton("creatures", spawnElfPowerButton);
tab.UpdateLayout();

其中, "mod_info", "creatures", "tile_brush"是tab的三个不同的子栏目, 它们会像原版的交互栏一样从左到右排列, 中间会有一个分割线. 它们的名字并不重要, 只用作区分.

tab是前面创建的PowersTab实例.

showModInfoPowerButton, spawnHumanPowerButton, spawnElfPowerButton是三个假设的已经创建的PowerButton实例.

最后一行将会更新PowersTab的布局, 使其生效.

下一节

回到主页

⚠️ **GitHub.com Fallback** ⚠️