From 8362273766dc4c350340275b7135a57c0ba8dc8d Mon Sep 17 00:00:00 2001 From: guojiaxv <3194589716@qq.com> Date: Wed, 22 Jul 2026 11:00:47 +0800 Subject: [PATCH] =?UTF-8?q?chore=EF=BC=9A=E8=B0=83=E6=95=B4mainpanel=20?= =?UTF-8?q?=E6=AD=A6=E5=99=A8=E6=98=BE=E7=A4=BA=E6=AF=94=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/scripts/AssetController.ts | 23 ++++++++++++++++++++--- assets/scripts/ui/MainPanel.ts | 2 +- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/assets/scripts/AssetController.ts b/assets/scripts/AssetController.ts index fc92393..d67b037 100644 --- a/assets/scripts/AssetController.ts +++ b/assets/scripts/AssetController.ts @@ -1,5 +1,5 @@ // @structural-rewrite-v1 -import { _decorator, AudioClip, Component, Sprite } from 'cc'; +import { _decorator, AudioClip, Component, Sprite, UITransform } from 'cc'; import { RuntimeAssetLoader } from './framework/runtime/RuntimeAssetLoader'; const { ccclass, property } = _decorator; @ccclass('AssetController') @@ -30,7 +30,10 @@ export class AssetController extends Component { finally { } } - loadSetSprite(path: string, sprite: Sprite): void { + loadSetSprite(path: string, sprite: Sprite, preserveAspect = false): void { + const displayBounds = preserveAspect + ? sprite?.node.getComponent(UITransform)?.contentSize.clone() + : null; try { do { switch (0 as number) { @@ -42,8 +45,22 @@ export class AssetController extends Component { switch (0 as number) { case 1: break; case 2: break; - default: if (sprite?.["isValid"]) + default: if (sprite?.["isValid"]) { void (sprite["spriteFrame"] = spriteFrame); + if (displayBounds) { + const sourceSize = spriteFrame.originalSize; + if (sourceSize.width > 0 && sourceSize.height > 0) { + const scale = Math.min( + displayBounds.width / sourceSize.width, + displayBounds.height / sourceSize.height, + ); + sprite.node.getComponent(UITransform)?.setContentSize( + sourceSize.width * scale, + sourceSize.height * scale, + ); + } + } + } } } while (false); } diff --git a/assets/scripts/ui/MainPanel.ts b/assets/scripts/ui/MainPanel.ts index b260ad9..f24f899 100644 --- a/assets/scripts/ui/MainPanel.ts +++ b/assets/scripts/ui/MainPanel.ts @@ -437,7 +437,7 @@ export class MainPanel extends PanelBase { default: const item = instantiate(this["weaponSelectPrefab"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown); void (item["parent"] = this["weaponContent"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown); - void ((AssetController["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["loadSetSprite"](`weaponSprite/${weapon["spriteName"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown}`, item["getChildByPath"]('Sprite')["getComponent"](Sprite))); + void ((AssetController["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["loadSetSprite"](`weaponSprite/${weapon["spriteName"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown}`, item["getChildByPath"]('Sprite')["getComponent"](Sprite), true)); void (item["getChildByPath"]('Label')["getComponent"](Label)["string"] = weapon["gunName"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown); } } while (false);