You are viewing a potentially older version of this package. View all versions.
cat_yummi-CatUIPanel-0.0.1 icon

CatUIPanel

A lightweight UI framework that gives different mods the same in-game entry point. | 轻量级 UI 框架,为不同 mod 提供统一的游戏内入口。

Date uploaded 4 days ago
Version 0.0.1
Download link cat_yummi-CatUIPanel-0.0.1.zip
Downloads 58
Dependency string cat_yummi-CatUIPanel-0.0.1

This mod requires the following mods to function

xiaoye97-BepInEx-5.4.17 icon
xiaoye97-BepInEx

BepInEx5.4.17 mod plugin framework, Mod框架

Preferred version: 5.4.17

README

CatUIPanel

Thunderstore 本地上传 zip(可点击):THUNDERSTORE_ZIPS.md

English

A shared in-game panel for Dyson Sphere Program mods. A white cat button sits right above the screenshot button in the bottom-right corner; clicking it opens one window where every registered mod has its own tab.

This mod gives mod authors a shared, lightweight panel with no other gameplay features bundled in. Unfortunately, the panel is still an alpha prototype for now.

Cat launcher button

Cat Panel window

For players

  • Press F9 or click the cat button (or the window's close button / Esc) to open and close the panel.
  • If the cat button overlaps something, move it with Launcher/OffsetX and Launcher/OffsetY in the config file.

For mod authors

[BepInDependency(CatUIPanel.UIPanel.Guid)]
public class MyPlugin : BaseUnityPlugin
{
    private void Awake()
    {
        ConfigEntry<bool> autoOpen = Config.Bind("General", "AutoOpen", true, "...");
        CatUIPanel.UIPanel.RegisterPage("我的功能")
            .AddCheckbox(autoOpen, "进入游戏后自动打开")
            .AddButton("执行", () => DoSomething())
            .AddLabel("说明文字");
    }
}

// whenever your mod needs the user's attention:
CatUIPanel.UIPanel.OpenPage("我的功能");
  • Register in Awake; the window is built the first time it is opened in a game.
  • Checkboxes read and write the ConfigEntry directly, so the value is saved in your own cfg and stays in sync with other editors.
  • OpenPage(id) opens the panel on that tab. Called outside a game (main menu, loading), it waits until a game is entered; leaving a game cancels it.
  • RegisterPage(key):key 是唯一标识,也是左侧分页标题;多个 mod 用同一个 key 会合并到同一页(后加载的 mod 在下方追加控件)。
  • TogglePage(key), Close(), IsOpen, CurrentPageKey;UIPanel.ApiVersion 现为 3。
中文

戴森球计划 mod 内的游戏内面板。 右下角截图按钮正上方有一个白色小猫按钮,点开是一个窗口,每个注册过的 mod 占左侧一个分页。 这个 mod 旨在给 mod 作者们提供一个公共的、不含其他功能的轻量级面板。 虽然很遗憾,到目前为止,这个面板仍然是 alpha 原型阶段。

小猫入口

猫猫面板

玩家

  • 按 F9 或点小猫按钮打开/关闭面板;窗口关闭按钮或 Esc 也能关闭。
  • 小猫按钮如果挡住了别的东西,可在配置文件里用 Launcher/OffsetX、Launcher/OffsetY 挪位置。

mod 作者

用法见上文 English 节的代码示例。

  • 在 Awake 里注册;窗口在游戏中第一次打开时才生成。
  • 复选框直接读写 ConfigEntry,值保存在你自己 mod 的 cfg 里,和其他配置编辑器保持一致。
  • OpenPage(id) 打开面板并切到该页。在主菜单、读档中调用时会排队,进入游戏后再打开;离开游戏时取消排队。
  • 另有 TogglePage(key)、Close()、IsOpen、CurrentPageKey。UIPanel.ApiVersion 现为 3。

中国用户特殊说明

  • 有问题可以直接来我QQ群问我,目前群为629176031。

CHANGELOG

Changelog

0.0.1 - 2026-10-19

  • Renamed from YummiUIPanel to CatUIPanel; in-game title 猫猫面板 / Cat Panel (was 悠米 / Yummi). Thunderstore DSP-CatUIPanel, dependency cat_yummi-CatUIPanel-0.0.1.
  • Plugin GUID com.cat.dsp.catuipanel. Renamed due to feedback: mod names no longer include the author name.

0.1.6

  • Refit window size from measured widget bounds after Canvas.ForceUpdateCanvases() (fixes content clipped past frame).
  • Refresh wrapped label/checkbox heights before measuring; refit again on each open.

0.1.5

  • Left tabs use UXA-style dyson orbit buttons (fixes wide gray/white tab strip).
  • Checkboxes: never stretch root Image to row width (fixes white bars); label wraps beside the box.
  • 左侧分页改为 UXA 轨道按钮样式;复选框不再拉宽方框根节点。

0.1.4

  • Window sizing like UXA: only root sizeDelta; panel-bg/shadow stretch to fill (fixes visible white rim).
  • 窗口尺寸与 UXA 一致:只改根节点,panel-bg 拉伸铺满(去掉白边)。

0.1.3

  • Fix panel frame: parent UI inside panel-bg, hoist panel-bg to window root, set explicit panel-bg/shadow size from content (fixes overflow outside the border).
  • 修复面板边框:控件放进 panel-bg,理顺层级并按内容撑开 panel-bg 尺寸。

0.1.2

  • Fix window sizing: stretch panel-bg/shadow, measure wrapped checkbox/label height, wider content column.
  • API v2: RegisterPage(string key) and single-string labels on controls; CurrentPageKey replaces CurrentPageId.
  • 修复窗口尺寸:背景随窗口拉伸,复选框/说明文字换行计入高度,内容区更宽。
  • API v2:单字符串注册分页与控件文案。

0.1.1

  • Larger panel: wider content area, taller buttons/tabs, 18px body text.
  • Cat launcher sits 0.25 button-heights lower (closer to screenshot).
  • New Thunderstore icon art.
  • 面板加大:内容区更宽、按钮/分页更高、正文 18 号字。
  • 小猫按钮下移 0.25 个按钮高度(更靠近截图键)。
  • 更换发布用封面图。

0.1.0

  • First version: cat button above the screenshot button, shared panel with one tab per mod.
  • Controls: checkbox (bound to ConfigEntry<bool>), button, label.
  • UIPanel.OpenPage / TogglePage / Close; open requests made outside a game wait until a game is entered.
  • 首个版本:截图按钮上方的小猫按钮,每个 mod 一个分页的共用面板。
  • 控件:复选框(绑定 ConfigEntry<bool>)、按钮、文字。
  • UIPanel.OpenPage / TogglePage / Close;不在游戏中发起的打开请求会等到进入游戏后执行。