67 lines
2.8 KiB
TypeScript
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;
|
|
}
|
|
|
|
}
|
|
} |