diff --git a/packages/editor/src/language/zh-CN-en-US.ts b/packages/editor/src/language/zh-CN-en-US.ts index ecf9ebb..c3407bb 100644 --- a/packages/editor/src/language/zh-CN-en-US.ts +++ b/packages/editor/src/language/zh-CN-en-US.ts @@ -539,6 +539,154 @@ export default { htmlPanel: { Content: "内容" }, + Heatmap: "热力图", + Path: "路径", + "UI panel": "UI面板", + "Water pool": "水池", + heatmap: { + "Heatmap Texture": "热力图纹理", + Blur: "模糊", + Gradient: "色阶", + Add: "添加", + Remove: "移除", + Data: "数据", + Points: "点", + "Controls the opacity of the darkest and brightest parts of a thermal texture": "控制热力纹理最暗处和最亮处的不透明度", + "Height Scale": "高度缩放", + "Heatmap Points": "热力图点", + Error: "错误", + "Points must be an array.": "点数据必须是数组。", + "Point[{index}] must be an object.": "点[{index}]必须是对象。", + "Point[{index}].x must be a number.": "点[{index}].x必须是数字。", + "Point[{index}].y must be a number.": "点[{index}].y必须是数字。", + "Point[{index}].value must be a number.": "点[{index}].value必须是数字。", + "Point[{index}].radius must be a number.": "点[{index}].radius必须是数字。", + }, + path: { + "Path Params": "路径参数", + "Ribbon Params": "平面路径", + "Tube Params": "管状路径", + "Flow Params": "流动效果", + Type: "类型", + Ribbon: "平面", + Tube: "管状", + "Corner Radius": "拐角半径", + "Corner Split": "拐角分段", + Progress: "进度", + Arrow: "箭头", + Side: "绘制侧", + Both: "双侧", + Left: "左侧", + Right: "右侧", + "Start Rad": "起始弧度", + Flow: "流动", + "Flow Speed": "流动速度", + "Flow Direction": "流动方向", + }, + uipanel: { + Node: "节点", + "Select a node to edit": "选择节点以编辑", + Type: "类型", + Text: "文本", + Color: "颜色", + Padding: "内边距", + Margin: "外边距", + Offset: "偏移", + "Font opacity": "字体透明度", + "Font supersampling": "字体超采样", + "Letter spacing": "字间距", + "Line height": "行高", + "White space": "空白处理", + "Break on": "换行字符", + "Background color": "背景色", + "Background opacity": "背景透明度", + "Background image URL": "背景图链接", + "Select local image": "选择本地图片", + "Image size must be <= {size}MB": "图片大小不能超过{size}MB", + "Background size": "背景图大小", + Cover: "覆盖", + Contain: "包含", + Stretch: "拉伸", + "Border radius": "圆角", + "Border width": "边框宽度", + "Border color": "边框颜色", + "Hidden overflow": "隐藏溢出", + "Flex direction": "布局方向", + Row: "横向", + "Row reverse": "横向反转", + Column: "纵向", + "Column reverse": "纵向反转", + "Justify content": "主轴对齐", + "Align items": "交叉轴对齐", + States: "状态样式", + Hover: "悬停", + Active: "点击", + "Hover background": "悬停背景色", + "Hover opacity": "悬停透明度", + "Active background": "点击背景色", + "Active opacity": "点击透明度", + "Hover color": "悬停颜色", + "Active color": "点击颜色", + Start: "开始", + Center: "居中", + End: "结束", + "Space between": "两端对齐", + "Space around": "环绕", + "Space evenly": "均分", + "Font size": "字号", + "Text align": "文字对齐", + Left: "左对齐", + Right: "右对齐", + "Add Block": "添加容器", + "Add Text": "添加文本", + }, + waterPool: { + Basic: "基础", + Type: "水池类型", + Cylinder: "圆柱", + Square: "方形", + WallMode: "墙体模式", + WallNone: "无墙体", + Wall: "墙体", + Volume: "体积水", + WallOpacity: "墙体透明度", + ScreenRefraction: "屏幕空间折射", + Size: "尺寸", + Diameter: "直径", + Width: "宽度", + Depth: "深度", + Height: "高度", + Light: "光照", + Direction: "方向", + Color: "颜色", + VolumeColor: "体积水颜色", + SurfaceColor: "水面颜色", + Disturbance: "水波", + Enabled: "启用", + Mode: "模式", + ModeDrag: "拖动", + ModeUniform: "均匀", + DropsPerStep: "每步水滴数", + RadiusMin: "半径最小", + RadiusMax: "半径最大", + StrengthMin: "强度最小", + StrengthMax: "强度最大", + TravelRadius: "活动半径", + DriftSpeed: "漂移速度", + Jitter: "抖动强度", + Spread: "扩散范围", + Refraction: "折射与波纹", + SurfaceTransmittance: "透视强度", + NormalStrength: "法线强度", + RefractionStrength: "折射强度", + Texture: "贴图", + WallTexture: "墙体纹理", + Quality: "模拟精度", + SimulationSize: "模拟尺寸", + CausticsSize: "焦散尺寸", + WaterSegments: "水面分段", + WallSegments: "墙体分段", + }, "3D Tiles": "3D Tiles", tiles: { "Color mode": "颜色模式", diff --git a/packages/editor/src/views/editor/layouts/Sidebar.vue b/packages/editor/src/views/editor/layouts/Sidebar.vue index 866ba26..3bc3f3a 100644 --- a/packages/editor/src/views/editor/layouts/Sidebar.vue +++ b/packages/editor/src/views/editor/layouts/Sidebar.vue @@ -18,7 +18,10 @@ import { ImageReference, LocationHeart, LocationCompany, - ChoroplethMap + ChoroplethMap, + DirectionLoopLeft, + Gui, + ChartWaterfall } from "@vicons/carbon"; import { t } from "@/language"; @@ -38,6 +41,10 @@ import SidebarParticle from "./sidebar/SidebarParticle.vue"; import SidebarBillboard from "./sidebar/SidebarBillboard.vue"; import SidebarHtmlPanel from "./sidebar/SidebarHtmlPanel.vue"; import Sidebar3DTiles from "./sidebar/Sidebar3DTiles.vue"; +import SidebarHeatmap from "./sidebar/SidebarHeatmap.vue"; +import SidebarPath from "./sidebar/SidebarPath.vue"; +import SidebarUIPanel from "./sidebar/SidebarUIPanel.vue"; +import SidebarWaterPool from "./sidebar/SidebarWaterPool.vue"; const tabsInstRef = ref(null); const tabs = ref>([]); @@ -96,6 +103,30 @@ function setTabs(object){ current.value = '3DTiles'; break; + case "Heatmap": + object3DTabs.push({ name: 'heatmap', icon: { text: 'Heatmap',color:"#A9575F", component: markRaw(HeatMap) }, component: markRaw(SidebarHeatmap) }) + + current.value = 'heatmap'; + break; + case "Path": + object3DTabs.push({ name: 'path', icon: { text: 'Path',color:"#A9575F", component: markRaw(DirectionLoopLeft) }, component: markRaw(SidebarPath) }) + + current.value = 'path'; + break; + case "WaterPool": + object3DTabs.push({ name: 'waterPool', icon: { text: 'Water pool',color:"#4aa3b5", component: markRaw(ChartWaterfall) }, component: markRaw(SidebarWaterPool) }) + + current.value = 'waterPool'; + break; + case "UIPanel": + case "UIPanelBlock": + case "UIPanelText": + case "UIPanelInline": + case "UIPanelInlineBlock": + object3DTabs.push({ name: 'uipanel', icon: { text: 'UI panel',color:"#A9575F", component: markRaw(Gui) }, component: markRaw(SidebarUIPanel) }) + + current.value = 'uipanel'; + break; } } @@ -130,6 +161,30 @@ function setTabs(object){ current.value = 'object'; } } + + if (current.value === 'heatmap') { + if (!(object && object.type === 'Heatmap')){ + current.value = 'object'; + } + } + + if (current.value === 'path') { + if (!(object && object.type === 'Path')){ + current.value = 'object'; + } + } + + if (current.value === 'waterPool') { + if (!(object && object.type === 'WaterPool')){ + current.value = 'object'; + } + } + + if (current.value === 'uipanel') { + if (!(object && ["UIPanel", "UIPanelBlock", "UIPanelText", "UIPanelInline", "UIPanelInlineBlock"].includes(object.type))){ + current.value = 'object'; + } + } } onMounted(()=>{ diff --git a/packages/editor/src/views/editor/layouts/sidebar/SidebarHeatmap.vue b/packages/editor/src/views/editor/layouts/sidebar/SidebarHeatmap.vue new file mode 100644 index 0000000..3fb17b0 --- /dev/null +++ b/packages/editor/src/views/editor/layouts/sidebar/SidebarHeatmap.vue @@ -0,0 +1,534 @@ + + + + + diff --git a/packages/editor/src/views/editor/layouts/sidebar/SidebarPath.vue b/packages/editor/src/views/editor/layouts/sidebar/SidebarPath.vue new file mode 100644 index 0000000..d1db22d --- /dev/null +++ b/packages/editor/src/views/editor/layouts/sidebar/SidebarPath.vue @@ -0,0 +1,223 @@ + + + + + diff --git a/packages/editor/src/views/editor/layouts/sidebar/SidebarUIPanel.vue b/packages/editor/src/views/editor/layouts/sidebar/SidebarUIPanel.vue new file mode 100644 index 0000000..4f6b01b --- /dev/null +++ b/packages/editor/src/views/editor/layouts/sidebar/SidebarUIPanel.vue @@ -0,0 +1,256 @@ + + + + + diff --git a/packages/editor/src/views/editor/layouts/sidebar/SidebarWaterPool.vue b/packages/editor/src/views/editor/layouts/sidebar/SidebarWaterPool.vue new file mode 100644 index 0000000..93afc55 --- /dev/null +++ b/packages/editor/src/views/editor/layouts/sidebar/SidebarWaterPool.vue @@ -0,0 +1,687 @@ + + + + + diff --git a/packages/editor/src/views/editor/layouts/sidebar/uipanel/Sidebar.UIPanel.Block.vue b/packages/editor/src/views/editor/layouts/sidebar/uipanel/Sidebar.UIPanel.Block.vue new file mode 100644 index 0000000..b5acb3a --- /dev/null +++ b/packages/editor/src/views/editor/layouts/sidebar/uipanel/Sidebar.UIPanel.Block.vue @@ -0,0 +1,342 @@ + + + + + diff --git a/packages/editor/src/views/editor/layouts/sidebar/uipanel/Sidebar.UIPanel.Text.vue b/packages/editor/src/views/editor/layouts/sidebar/uipanel/Sidebar.UIPanel.Text.vue new file mode 100644 index 0000000..8096231 --- /dev/null +++ b/packages/editor/src/views/editor/layouts/sidebar/uipanel/Sidebar.UIPanel.Text.vue @@ -0,0 +1,284 @@ + + + + +