From 0fdde3cb6946767bfdee7e53c4fde44a69bde5c1 Mon Sep 17 00:00:00 2001 From: kenyeh Date: Fri, 9 Jun 2023 13:15:41 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=E6=96=B0=E5=A2=9Epage3=20=E5=A4=A9?= =?UTF-8?q?=E6=B0=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/script/define/ValueDefine.ts | 6 ++++++ assets/script/drone/InfoPageTabManager.ts | 26 ++++++++++++++++++----- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/assets/script/define/ValueDefine.ts b/assets/script/define/ValueDefine.ts index e0811dd..66b54d2 100644 --- a/assets/script/define/ValueDefine.ts +++ b/assets/script/define/ValueDefine.ts @@ -8,4 +8,10 @@ export enum DroneDetailString { yaw, roll, mode +} + +export const WeatherString = { + atmosphericPressure: '大氣壓', + windDirection: '風向', + windSpeed: '風速' } \ No newline at end of file diff --git a/assets/script/drone/InfoPageTabManager.ts b/assets/script/drone/InfoPageTabManager.ts index 0378bb9..48e6a73 100644 --- a/assets/script/drone/InfoPageTabManager.ts +++ b/assets/script/drone/InfoPageTabManager.ts @@ -5,6 +5,7 @@ import { CustomToggleGroup } from "../external/CustomToggleGroup"; import { CustomToggle } from "../external/CustomToggleItem"; import { Drone_Event } from "../define/Event"; import DetailPanelItem from "./DetailPanelItem"; +import { WeatherString } from "../define/ValueDefine"; const { ccclass, property } = cc._decorator; @@ -76,12 +77,12 @@ export default class InfoPageTabManager extends BaseComp { const data = CommonModel.inst.droneDetailValue.find(detail => detail.id === this.nowDroneId) if (data) { Object.keys(data).forEach(idString => { - if(idString !== 'id') { - let item = targetContent.children.find( node => { + if (idString !== 'id') { + let item = targetContent.children.find(node => { return node?.getComponent(DetailPanelItem).keyName === idString }) - - if(item) { + + if (item) { item.getComponent(DetailPanelItem).updateItemInfo(data[idString]) } else { let node = cc.instantiate(this.detailPanelItemPrefab) @@ -96,7 +97,22 @@ export default class InfoPageTabManager extends BaseComp { } setWeather(nowShowTabIndex: number) { - // TO-DO + const data = CommonModel.inst.weather + const targetContent = this.pageContent[nowShowTabIndex] + Object.keys(data).forEach(idString => { + let item = targetContent.children.find(node => { + return node?.getComponent(DetailPanelItem).keyName === WeatherString[idString] + }) + + if (item) { + item.getComponent(DetailPanelItem).updateItemInfo(data[idString]) + } else { + let node = cc.instantiate(this.detailPanelItemPrefab) + let detailPanelItemComp = node.getComponent(DetailPanelItem) + detailPanelItemComp.setItemInfo(WeatherString[idString], data[idString]) + node.parent = targetContent + } + }) } setDroneCamera() {