diff --git a/assets/atlas/images/bg_dc_top.png b/assets/atlas/images/bg_dc_top1.png similarity index 100% rename from assets/atlas/images/bg_dc_top.png rename to assets/atlas/images/bg_dc_top1.png diff --git a/assets/atlas/images/bg_dc_top.png.meta b/assets/atlas/images/bg_dc_top1.png.meta similarity index 100% rename from assets/atlas/images/bg_dc_top.png.meta rename to assets/atlas/images/bg_dc_top1.png.meta diff --git a/assets/atlas/images/bg_dc_top2.png b/assets/atlas/images/bg_dc_top2.png new file mode 100644 index 0000000..a84f464 Binary files /dev/null and b/assets/atlas/images/bg_dc_top2.png differ diff --git a/assets/atlas/images/bg_dc_top2.png.meta b/assets/atlas/images/bg_dc_top2.png.meta new file mode 100644 index 0000000..766cf0a --- /dev/null +++ b/assets/atlas/images/bg_dc_top2.png.meta @@ -0,0 +1,6 @@ +{ + "uuid": "3dc757bc-61c3-480f-9ee1-1b1c57cf028b", + "importer": { + "textureType": 2 + } +} \ No newline at end of file diff --git a/assets/atlas/images/img_dc_bg_light.png b/assets/atlas/images/img_dc_bg1.png similarity index 100% rename from assets/atlas/images/img_dc_bg_light.png rename to assets/atlas/images/img_dc_bg1.png diff --git a/assets/atlas/images/img_dc_bg_light.png.meta b/assets/atlas/images/img_dc_bg1.png.meta similarity index 100% rename from assets/atlas/images/img_dc_bg_light.png.meta rename to assets/atlas/images/img_dc_bg1.png.meta diff --git a/assets/atlas/images/img_dc_bg.png b/assets/atlas/images/img_dc_bg2.png similarity index 100% rename from assets/atlas/images/img_dc_bg.png rename to assets/atlas/images/img_dc_bg2.png diff --git a/assets/atlas/images/img_dc_bg.png.meta b/assets/atlas/images/img_dc_bg2.png.meta similarity index 100% rename from assets/atlas/images/img_dc_bg.png.meta rename to assets/atlas/images/img_dc_bg2.png.meta diff --git a/assets/resources/DailyChallenge.lh b/assets/resources/DailyChallenge.lh index d64a504..5933358 100644 --- a/assets/resources/DailyChallenge.lh +++ b/assets/resources/DailyChallenge.lh @@ -17,6 +17,9 @@ "btn_back": { "_$ref": "yvza2lgb" }, + "bg_dc": { + "_$ref": "hdia0flx" + }, "label_year": { "_$ref": "pohsc0lz" }, diff --git a/assets/resources/Home.lh b/assets/resources/Home.lh index 53202b0..37860cb 100644 --- a/assets/resources/Home.lh +++ b/assets/resources/Home.lh @@ -14,6 +14,9 @@ { "_$type": "f2970e4d-7a09-4a9b-aef3-45d330c86f4f", "scriptPath": "../src/views/Home.ts", + "bg_dc": { + "_$ref": "7270vjom" + }, "label_dc_title": { "_$ref": "zbppj6k0" }, @@ -71,7 +74,7 @@ "name": "bg", "width": 936, "height": 468, - "skin": "res://342d91e6-0434-4d52-b16c-3c536060f881", + "skin": "res://3dc757bc-61c3-480f-9ee1-1b1c57cf028b", "useSourceSize": true, "color": "#ffffff" }, diff --git a/src/constants/config.ts b/src/constants/config.ts index aa7f6f3..4ece6e7 100644 --- a/src/constants/config.ts +++ b/src/constants/config.ts @@ -34,8 +34,8 @@ export const config = { BLUE: "#2559c0", }, - MONTH_ABBRS: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] - + MONTH_ABBRS: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + MONTH_FULLNAMES: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], } diff --git a/src/constants/respath.ts b/src/constants/respath.ts index a97c933..37f62c3 100644 --- a/src/constants/respath.ts +++ b/src/constants/respath.ts @@ -9,5 +9,12 @@ export const respath = { score_add_ui_res: "resources/ScoreAdd.lh", difficulty_ui_res: "resources/Difficulty.lh", + + + home_top_dc_bg_normal: "atlas/images/bg_dc_top1.png", + home_top_dc_bg_finish: "atlas/images/bg_dc_top2.png", + dc_top_bg_normal: "atlas/images/img_dc_bg1.png", + dc_top_bg_day_finish: "atlas/images/img_dc_bg2.png", + dc_top_bg_month_finish: "atlas/images/img_dc_finished.png", } diff --git a/src/models/DOUser.ts b/src/models/DOUser.ts index 1ed1fde..3ff0344 100644 --- a/src/models/DOUser.ts +++ b/src/models/DOUser.ts @@ -5,10 +5,14 @@ import { StorageManager } from "./StorageManager" export class DOUser { private data: DataUser - + private mapDones: Map = new Map() constructor(dataUser: DataUser) { this.data = dataUser + for (var i=0; i{ + if (stageID.startsWith(key) && progres >= 1) { + count ++ + } + }) + return count + } public update_stage_done(stageID: string, progress: number): void { var find: StageProgress for (var i=0; i= 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= 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) diff --git a/src/views/Home.ts b/src/views/Home.ts index 3d12055..c8c2170 100644 --- a/src/views/Home.ts +++ b/src/views/Home.ts @@ -13,6 +13,8 @@ const { regClass, property } = Laya export class Home extends Laya.Script { declare owner : Laya.Box; + @property(Laya.Image) + public bg_dc: Laya.Image; @property(Laya.Label) public label_dc_title: Laya.Label; @property(Laya.Sprite) @@ -34,15 +36,19 @@ export class Home extends Laya.Script { //组件被激活后执行,此时所有节点和组件均已创建完毕,此方法只执行一次 onAwake(): void { - var user = StorageManager.getInstance().getUser() - var now = new Date() var year = now.getFullYear() var month = now.getMonth() + 1 var dayNow = new Date().getDate() - this.label_dc_title.text = `${config.MONTH_ABBRS[month-1]} ${dayNow}` var stageID = `${year}-${month}-${dayNow}` + + if (user.get_doneCountBydate(year, month) >= 31) + this.bg_dc.skin = respath.home_top_dc_bg_finish + else + this.bg_dc.skin = respath.home_top_dc_bg_normal + this.label_dc_title.text = `${config.MONTH_ABBRS[month-1]} ${dayNow}` + var progress = user.get_done(stageID) if (progress <= 0) { this.btn_play.visible = true