Files
18xchat/assets/Scripts/test/girlListPanel/ThemeItem.ts
T

47 lines
1.4 KiB
TypeScript
Raw Normal View History

2025-08-01 18:28:36 +08:00
import { _decorator, Component, Label, Node, Sprite, UITransform } from 'cc';
2025-07-30 21:52:26 +08:00
import {Theme} from "db://assets/Scripts/Main/Config/Config18x";
import {GButton} from "db://assets/Scripts/Main/Common/GButton";
import {DemoManager} from "db://assets/Scripts/test/DemoManager";
2025-08-01 18:28:36 +08:00
import ResManager from "db://assets/Scripts/Main/Manager/ResManager";
import Utils from "db://assets/Scripts/Main/Common/Utils";
2025-07-30 21:52:26 +08:00
const { ccclass, property } = _decorator;
@ccclass('ThemeItem')
export class ThemeItem extends Component {
@property(Sprite)
lockImg: Sprite;
@property(Label)
titleName:Label;
2025-08-01 18:28:36 +08:00
@property(Sprite)
img:Sprite;
2025-07-30 21:52:26 +08:00
private id:number;
2025-08-01 18:28:36 +08:00
private isLocked:boolean;
2025-07-30 21:52:26 +08:00
start()
{
}
refresh(themeData:Theme)
{
this.lockImg.node.active = !themeData.isRelease;
2025-08-01 18:28:36 +08:00
this.isLocked = !themeData.isRelease;
2025-07-30 21:52:26 +08:00
this.titleName.string = themeData.name;
this.id = themeData.themeId;
2025-08-01 18:28:36 +08:00
ResManager.I.changeBundleSpriteFrame(this.img,themeData.pic.url,"Chat18x",()=>{
let sizeTran = this.img.node.parent.getComponent(UITransform);
Utils.adjustBgPixelRatioToSize(sizeTran.contentSize,this.img.node,2);
});
2025-07-30 21:52:26 +08:00
GButton.RemoveAndBandClick(this.node,this.OnClickThis,this);
}
OnClickThis()
{
2025-08-01 18:28:36 +08:00
if(this.isLocked){ return;}
2025-07-30 21:52:26 +08:00
DemoManager.getInstance().EnterGirlList(this.id);
}
}