/************************************************************************************ * FileName : RewardItem.ts * Description : * Version : v1.0.0 * CreateTime : 2024-12-11 21:44:54 * Author : * Copyright (c) since 2024 * ============================================================== * Method Description: * * ============================================================== ************************************************************************************/ import { _decorator, Component, Node, Sprite, Label, SpriteFrame } from 'cc'; import {resLoader} from "db://assets/core_tgx/base/utils/ResLoader"; import {ModuleDef} from "db://assets/scripts/ModuleDef"; import {areanMgr} from "db://assets/module_arean/scripts/AreanManager"; import {CommonFun} from "db://assets/module_arean/scripts/CommonFun"; import {EAreanBuyType, IRewardData} from "db://assets/module_basic/shared/protocols/public/arean/AreanTypeDef"; import {UserMgr} from "db://assets/module_basic/scripts/UserMgr"; import {BaseUI} from "db://assets/module_arean/scripts/BaseUI"; const { ccclass, property } = _decorator; @ccclass('RewardItem') export class RewardItem extends BaseUI { @property(Sprite) bg : Sprite = null; @property(Sprite) icon : Sprite = null; @property(Label) iconName : Label = null; @property(Label) iconCount : Label = null; // 道具属性 private _itemData : IRewardData = null; public initData(data : IRewardData) : void{ this._itemData = data; this._updateIcon(data); this._updateName(data); this._updateCount(data); this._updateItem(data); CommonFun.getInstance().showItemInfo(this.node,this._itemData.itemId); } /** 更新客户端数据 */ private _updateItem(data : IRewardData) : void{ // let index = UserMgr.inst.userInfo.itemList.findIndex((item)=> item.itemId == data.itemId) // if (index !== -1) { // UserMgr.inst.userInfo.itemList[index].itemCount += data.count; // }else{ // UserMgr.inst.userInfo.itemList.push({itemId: data.itemId, itemCount: data.count}); // } // if(data.itemId == EAreanBuyType.Coin){ // UserMgr.inst.userInfo.coin += data.count; // }else if(data.itemId == EAreanBuyType.Diamond){ // UserMgr.inst.userInfo.diamond += data.count; // } } private async _updateIcon(data: IRewardData) { let itemData = areanMgr.cfgMgr.PropData.getData(data.itemId); if (itemData) { let sp: SpriteFrame = await this.getPropIconSprite(itemData.icon); if (sp) this.icon.spriteFrame = sp; } } private _updateName(data : IRewardData) : void{ let itemData = areanMgr.cfgMgr.PropData.getData(data.itemId); if(itemData){ this.iconName.string = `${itemData.name}`; } } private _updateCount(data : IRewardData) : void{ this.iconCount.string = `${data.count}`; } public clickBtn() : void{ console.log("些道具的信息 ==== ",this._itemData); } }