squidGame/tgx-games-client/assets/module_arean/ui_common_item_info/UICommonItemInfo.ts

67 lines
2.8 KiB
TypeScript

/************************************************************************************
* 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;
}
}
}