/************************************************************************************

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

    }
}