48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
import { config } from "../../constants/config"
|
|
import { respath } from "../../constants/respath"
|
|
import { StorageManager } from "../../models/StorageManager"
|
|
import { UIManager } from "../../models/UIManager"
|
|
|
|
const { regClass, property } = Laya
|
|
|
|
@regClass()
|
|
export class TrophyUnit extends Laya.Script {
|
|
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"
|
|
}
|
|
|
|
this.icon.on(Laya.Event.CLICK, this, () => {
|
|
const find = user.get_trophyRecord(info.year, info.month)
|
|
if (find) {
|
|
UIManager.getInstance().loadTrophyShowUI(find)
|
|
}
|
|
})
|
|
}
|
|
}
|