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" /> }