From d6135e6eff80cf9f2ebad23a38f69061f121ec52 Mon Sep 17 00:00:00 2001 From: littlefean <2028140990@qq.com> Date: Sat, 1 Feb 2025 23:45:43 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E5=A2=9E=E5=8A=A0=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E8=AF=A6=E7=BB=86=E4=BF=A1=E6=81=AF=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E5=AD=97=E4=BD=93=E5=A4=A7=E5=B0=8F=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=92=8C=E8=A1=8C=E6=95=B0=E9=99=90=E5=88=B6=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entityRenderer/EntityRenderer.tsx | 4 ++-- src/core/render/canvas2d/renderer.tsx | 12 +++++++++++- src/core/service/Settings.tsx | 4 ++++ src/locales/en.yml | 8 ++++++++ src/locales/zh_CN.yml | 8 ++++++++ src/locales/zh_TW.yml | 8 ++++++++ src/pages/settings/visual.tsx | 19 +++++++++++++++++++ 7 files changed, 60 insertions(+), 3 deletions(-) diff --git a/src/core/render/canvas2d/entityRenderer/EntityRenderer.tsx b/src/core/render/canvas2d/entityRenderer/EntityRenderer.tsx index 703ef1c2..53fe6338 100644 --- a/src/core/render/canvas2d/entityRenderer/EntityRenderer.tsx +++ b/src/core/render/canvas2d/entityRenderer/EntityRenderer.tsx @@ -179,10 +179,10 @@ export namespace EntityRenderer { export function renderEntityDetails(entity: Entity) { if (entity.details && !entity.isEditingDetails) { if (Renderer.isAlwaysShowDetails) { - _renderEntityDetails(entity, 4); + _renderEntityDetails(entity, Renderer.ENTITY_DETAILS_LIENS_LIMIT); } else { if (entity.isMouseHover) { - _renderEntityDetails(entity, 4); + _renderEntityDetails(entity, Renderer.ENTITY_DETAILS_LIENS_LIMIT); } } } diff --git a/src/core/render/canvas2d/renderer.tsx b/src/core/render/canvas2d/renderer.tsx index f685a244..07576a04 100644 --- a/src/core/render/canvas2d/renderer.tsx +++ b/src/core/render/canvas2d/renderer.tsx @@ -42,7 +42,11 @@ export namespace Renderer { /** * 节点详细信息的文字大小 */ - export const FONT_SIZE_DETAILS = 18; + export let FONT_SIZE_DETAILS = 18; + /** + * 节点详细信息的文字行数限制 + */ + export let ENTITY_DETAILS_LIENS_LIMIT = 4; export const NODE_PADDING = 14; /// 节点的圆角半径 export const NODE_ROUNDED_RADIUS = 8; @@ -104,6 +108,12 @@ export namespace Renderer { // 确保这个函数在软件打开的那一次调用 export function init() { + Settings.watch("entityDetailsFontSize", (value) => { + FONT_SIZE_DETAILS = value; + }); + Settings.watch("entityDetailsLinesLimit", (value) => { + ENTITY_DETAILS_LIENS_LIMIT = value; + }); Settings.watch("showDebug", (value) => (isShowDebug = value)); Settings.watch("showBackgroundHorizontalLines", (value) => { isShowBackgroundHorizontalLines = value; diff --git a/src/core/service/Settings.tsx b/src/core/service/Settings.tsx index 7f78f766..3e26ac09 100644 --- a/src/core/service/Settings.tsx +++ b/src/core/service/Settings.tsx @@ -28,6 +28,8 @@ export namespace Settings { alwaysShowDetails: boolean; protectingPrivacy: boolean; useNativeTitleBar: boolean; + entityDetailsFontSize: number; + entityDetailsLinesLimit: number; limitCameraInCycleSpace: boolean; cameraCycleSpaceSizeX: number; cameraCycleSpaceSizeY: number; @@ -87,6 +89,8 @@ export namespace Settings { alwaysShowDetails: false, protectingPrivacy: false, useNativeTitleBar: false, + entityDetailsFontSize: 18, + entityDetailsLinesLimit: 4, limitCameraInCycleSpace: false, cameraCycleSpaceSizeX: 1000, cameraCycleSpaceSizeY: 1000, diff --git a/src/locales/en.yml b/src/locales/en.yml index 63050561..9d245e5a 100644 --- a/src/locales/en.yml +++ b/src/locales/en.yml @@ -165,6 +165,14 @@ settings: When taking screenshots for feedback, enabling this option will replace all Chinese characters with "好" to protect privacy. This is only a visual replacement and will not affect the actual data. You can turn it off and restore it after providing feedback. + entityDetailsFontSize: + title: Font Size for Entity Details + description: | + Unit is pixels + entityDetailsLinesLimit: + title: Line Limit for Entity Details + description: | + Limit the maximum number of lines for entity details. Exceeding this limit will result in the omission of the excess content. limitCameraInCycleSpace: title: Enable Camera Movement Limitation in Cycle Space description: | diff --git a/src/locales/zh_CN.yml b/src/locales/zh_CN.yml index be58bc0d..e7c7d53a 100644 --- a/src/locales/zh_CN.yml +++ b/src/locales/zh_CN.yml @@ -150,6 +150,14 @@ settings: 用于反馈问题截图时,开启此项之后将汉字全部替换成《㊙》,以保护隐私。 仅作显示层面的替换,不会影响真实数据 反馈完毕后可再关闭,复原 + entityDetailsFontSize: + title: 实体详细信息字体大小 + description: | + 单位为像素 + entityDetailsLinesLimit: + title: 实体详细信息行数限制 + description: | + 限制实体详细信息的最大行数,超过限制的部分将被省略 limitCameraInCycleSpace: title: 开启循环空间限制摄像机移动 description: | diff --git a/src/locales/zh_TW.yml b/src/locales/zh_TW.yml index 393809b1..b9a8f6b9 100644 --- a/src/locales/zh_TW.yml +++ b/src/locales/zh_TW.yml @@ -137,6 +137,14 @@ settings: 用於回饋問題截圖時,開啟此項之後將漢字全部替換成《好》,以保護隱私。 僅作顯示層面的替換,不會影響真實數據 回饋完畢後可再關閉,復原 + entityDetailsFontSize: + title: 实体详细信息字体大小 + description: | + 单位为像素 + entityDetailsLinesLimit: + title: 实体详细信息行数限制 + description: | + 限制实体详细信息的最大行数,超过限制的部分将被省略 limitCameraInCycleSpace: title: 开启循环空间限制摄像机移动 description: | diff --git a/src/pages/settings/visual.tsx b/src/pages/settings/visual.tsx index 4f34cb76..d375eed1 100644 --- a/src/pages/settings/visual.tsx +++ b/src/pages/settings/visual.tsx @@ -1,7 +1,9 @@ import { AppWindowMac, + ArrowDownNarrowWide, Blend, Bug, + CaseSensitive, Columns4, Crosshair, Grip, @@ -35,6 +37,23 @@ export default function Visual() { } settingKey="alwaysShowDetails" type="switch" /> } settingKey="useNativeTitleBar" type="switch" /> + } + settingKey="entityDetailsFontSize" + type="slider" + min={18} + max={36} + step={1} + /> + } + settingKey="entityDetailsLinesLimit" + type="slider" + min={1} + max={200} + step={2} + /> + } settingKey="limitCameraInCycleSpace" type="switch" /> }