/************************************************************************************ * FileName : UICommonItemInfo.ts * Description : * Version : v1.0.0 * CreateTime : 2025-01-12 15:17:04 * Author : * Copyright (c) 2025 * ============================================================== * Method Description: * * ============================================================== ************************************************************************************/ import {GameUILayers} from "db://assets/scripts/GameUILayers"; import {tgx_class} from "db://assets/core_tgx/base/ModuleContext"; import {ModuleDef} from "db://assets/scripts/ModuleDef"; import {tgxAudioMgr, tgxUIController} from "db://assets/core_tgx/tgx"; import {Layout_UICommonItemInfo} from "db://assets/module_arean/ui_common_item_info/Layout_UICommonItemInfo"; import {Label, Sprite, SpriteFrame, UITransform, view } from "cc"; import {EMusicDefine} from "db://assets/module_basic/Define/MusicDefine"; import {areanMgr} from "db://assets/module_arean/scripts/AreanManager"; @tgx_class(ModuleDef.Arean) export class UICommonItemInfo extends tgxUIController{ constructor() { super("ui_common_item_info/CommonItemInfo", GameUILayers.POPUP,Layout_UICommonItemInfo) } protected onCreated(params: any) { console.log("收到的道具信息 ==== ",params) let _p = params.position; let layout : Layout_UICommonItemInfo = this.layout as Layout_UICommonItemInfo; this.onButtonEvent(layout.node,()=>{ tgxAudioMgr.inst.playCommonBtn(EMusicDefine.EFFECT_CLOSE); this.close(); }) let visSize = view.getVisibleSize(); let x = _p.x - visSize.width / 2; console.log("x ===== ",x); if(x < -100) x = -100; if(x > 100) x = 100; let h = layout.node.getChildByName("bg").getComponent(UITransform).height - 80; let h2 = layout.node.getChildByName("bg").getComponent(UITransform).height let y = _p.y - visSize.height / 2 + h; let topMax = visSize.height * 0.5 - (h2 * 0.5); y = y > topMax ? topMax : y; layout.node.getChildByName("bg").setPosition(x,y,0) this._initDetail(params.itemId); } /** 详情 */ private _initDetail(itemId:number){ let layout : Layout_UICommonItemInfo = this.layout as Layout_UICommonItemInfo; let itemData = areanMgr.cfgMgr.PropData.getData(itemId); if(itemData){ layout.getPropIconSprite(itemData.icon).then((sp : SpriteFrame)=>{ if(sp){ layout.itemNode.getChildByName("icon").getComponent(Sprite).spriteFrame = sp; } }); layout.itemNode.getChildByName("name").getComponent(Label).string = itemData.name; layout.content.getComponent(Label).string = itemData.desc; } } }