Files
sudoku/src/views/dc/TrophyUnit.ts

48 lines
1.4 KiB
TypeScript
Raw Normal View History

2025-05-28 18:47:51 +08:00
import { config } from "../../constants/config"
import { respath } from "../../constants/respath"
import { StorageManager } from "../../models/StorageManager"
import { UIManager } from "../../models/UIManager"
2025-05-20 21:05:30 +08:00
2025-05-28 18:47:51 +08:00
const { regClass, property } = Laya
2025-05-20 21:05:30 +08:00
@regClass()
export class TrophyUnit extends Laya.Script {
2025-05-28 18:47:51 +08:00
declare owner: Laya.Box
@property(Laya.Image)
public bg_light: Laya.Image
@property(Laya.Image)
public icon: Laya.Image
@property(Laya.Label)
public label_count: Laya.Label
@property(Laya.Label)
public label_month: Laya.Label
public onInit(info: any): void {
const user = StorageManager.getInstance().getUser()
const starCount = user.get_doneCountByDate(info.year, info.month)
this.icon.skin = info.icon_res
this.label_count.text = `${starCount}/${info.dayCount}`
this.label_month.text = config.MONTH_ABBRS[info.month - 1]
if (starCount >= info.dayCount) {
this.bg_light.skin = respath.trophy_bg_light_gold
this.icon.gray = false
this.label_month.color = "#2d3138"
} else {
this.bg_light.skin = respath.trophy_bg_light_grey
this.icon.gray = true
this.label_month.color = "#a7abb3"
2025-05-20 21:05:30 +08:00
}
2025-05-28 18:47:51 +08:00
this.icon.on(Laya.Event.CLICK, this, () => {
const find = user.get_trophyRecord(info.year, info.month)
if (find) {
UIManager.getInstance().loadTrophyShowUI(find)
}
})
}
}