47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
import { _decorator, Component, Label, Node, Sprite, UITransform } from "cc";
|
|
import { GButton } from "db://assets/Scripts/Main/Common/GButton";
|
|
import ResManager from "db://assets/Scripts/Main/Manager/ResManager";
|
|
import Utils from "db://assets/Scripts/Main/Common/Utils";
|
|
import { NavigationManager } from "../../manager/NavigationManager";
|
|
import { TbThemes, Theme } from "../../../schema/schema";
|
|
const { ccclass, property } = _decorator;
|
|
|
|
@ccclass("ThemeItem")
|
|
export class ThemeItem extends Component {
|
|
@property(Sprite)
|
|
lockImg: Sprite;
|
|
@property(Label)
|
|
titleName: Label;
|
|
|
|
@property(Sprite)
|
|
img: Sprite;
|
|
|
|
private category: number;
|
|
|
|
private isLocked: boolean;
|
|
start() {}
|
|
refresh(themeData: Theme) {
|
|
this.lockImg.node.active = !themeData.isRelease;
|
|
this.isLocked = !themeData.isRelease;
|
|
this.titleName.string = themeData.name;
|
|
this.category = themeData.category;
|
|
ResManager.I.changeBundleSpriteFrame(
|
|
this.img,
|
|
themeData.path,
|
|
"Chat18x",
|
|
() => {
|
|
let sizeTran = this.img.node.parent.getComponent(UITransform);
|
|
Utils.adjustBgPixelRatioToSize(sizeTran.contentSize, this.img.node, 2);
|
|
}
|
|
);
|
|
GButton.RemoveAndBandClick(this.node, this.OnClickThis, this);
|
|
}
|
|
|
|
OnClickThis() {
|
|
if (this.isLocked) {
|
|
return;
|
|
}
|
|
NavigationManager.Instance.navigateToGirlList(this.category);
|
|
}
|
|
}
|