1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import { _decorator, Component, Node } from "cc";
- import { ConfigGrade } from "../../scripts/api/ConfigM";
- import BaseUI from "../../scripts/base/BaseUI";
- import AB from "../../scripts/base/AB";
- import { SpriteFrame } from "cc";
- import { Sprite } from "cc";
- const { ccclass, property } = _decorator;
- export interface GradeClickCallback {
- (data: ConfigGrade): void;
- }
- @ccclass("GradeItem")
- export class GradeItem extends BaseUI {
- setSelected(selected: boolean) {
- this.FindNode("select").active = selected;
- }
- public get data(): ConfigGrade {
- return this._data;
- }
- private _data: ConfigGrade;
- private _callback: GradeClickCallback;
- onLoad(): void {
- super.onLoad();
- this.setSelected(false);
- }
- async init(data: ConfigGrade, callback: GradeClickCallback) {
- this._data = data;
- this._callback = callback;
- this.setText("lbl_grade_name", data.name);
- let a = await AB.ins.loadSpriteFrame("texture/common/grade" + data.id + "");
- let f = a as SpriteFrame;
- this.FindAs("icon", Sprite).spriteFrame = f;
- this.setText("lbl_add_value", data.addition + "%");
- }
- protected simpleOnBtnClick(name: string): void {
- this._callback(this._data);
- }
- }
|