补充每日挑战UI细节

This commit is contained in:
2025-05-20 18:27:32 +08:00
parent 18785e7387
commit e1671a6b68
15 changed files with 77 additions and 31 deletions

View File

@@ -4,6 +4,7 @@ import { StorageManager } from "../models/StorageManager";
import { CalendarUnit } from "./CalendarUnit";
import { LevelManager } from "../models/LevelManager";
import { UIManager } from "../models/UIManager";
import { respath } from "../constants/respath";
const { regClass, property } = Laya;
@@ -14,6 +15,8 @@ export class DailyChallenge extends Laya.Script {
@property(Laya.Button)
public btn_back: Laya.Button
@property(Laya.Image)
public bg_dc: Laya.Image;
@property(Laya.Label)
public label_year: Laya.Label;
@property(Laya.Label)
@@ -49,19 +52,33 @@ export class DailyChallenge extends Laya.Script {
UIManager.getInstance().loadHomeUI()
this.owner.destroy()
})
var dayBegin = 4
var dayCount = 31
var user = StorageManager.getInstance().getUser()
var now = new Date()
var year = now.getFullYear()
var month = now.getMonth() + 1
var dayNow = new Date().getDate()
var stageID = `${year}-${month}-${day}`
var stageID = `${year}-${month}-${dayNow}`
var starCount = user.get_doneCountBydate(year, month)
if (starCount >= dayCount) {
this.bg_dc.skin = respath.dc_top_bg_month_finish
}
else {
var progress = user.get_done(stageID)
console.log("progress >>>>>>>>>>>>>", stageID, progress)
if (progress >= 1) {
this.bg_dc.skin = respath.dc_top_bg_day_finish
}
else {
this.bg_dc.skin = respath.dc_top_bg_normal
}
}
this.label_year.text = year.toString()
this.label_month.text = config.MONTH_ABBRS[month-1]
var starCount = 0
var day = 1
var dayCount = 31
var begin = 4
this.label_month.text = config.MONTH_FULLNAMES[month-1]
this.label_star.text = `${starCount}/${dayCount}`
var day = 1
var index = -1
for (var i=0; i<this.obj_items.numChildren; i++) {
var hbox = this.obj_items.getChildAt(i)
@@ -70,20 +87,17 @@ export class DailyChallenge extends Laya.Script {
var obj = hbox.getChildAt(j) as Laya.Box
var l_obj = l_hbox.getChildAt(j) as Laya.Label
index ++
if (index >= begin && index < begin+dayCount) {
if (index >= dayBegin && index < dayBegin+dayCount) {
obj.visible = true
l_obj.visible = true
var unit = obj.getComponent(CalendarUnit)
this.units.push(unit)
var stageID = `${year}-${month}-${day}`
var progress = StorageManager.getInstance().getUser().get_done(stageID)
var progress = user.get_done(stageID)
unit.onInit(day, day<=dayNow, progress, l_obj, this, this.onClickUnit)
if (day == dayNow) {
this.selectedUnit = unit
}
if (progress >= 1) {
starCount ++
}
day ++
}
else {
@@ -92,7 +106,7 @@ export class DailyChallenge extends Laya.Script {
}
}
}
this.label_star.text = `${starCount}/${dayCount}`
this.onApplyUnit(this.selectedUnit)