格式化代码
This commit is contained in:
		| @@ -1,131 +1,131 @@ | ||||
| import { config } from "../../constants/config"; | ||||
| import { config } from "../../constants/config" | ||||
|  | ||||
| const { regClass, property } = Laya; | ||||
| const { regClass, property } = Laya | ||||
|  | ||||
| @regClass() | ||||
| export class CalendarUnit extends Laya.Script { | ||||
|     declare owner : Laya.Box; | ||||
|   declare owner: Laya.Box | ||||
|  | ||||
|     @property(Number) | ||||
|     public year: number = 0; | ||||
|     @property(Number) | ||||
|     public month: number = 0; | ||||
|     @property(Number) | ||||
|     public day: number = 0; | ||||
|     @property(Boolean) | ||||
|     public open: boolean = false; | ||||
|     @property(Number) | ||||
|     public progress: number = 0; | ||||
|   @property(Number) | ||||
|   public year: number = 0 | ||||
|  | ||||
|     private selected: boolean = false | ||||
|   @property(Number) | ||||
|   public month: number = 0 | ||||
|  | ||||
|     @property(Laya.Sprite) | ||||
|     public obj_selected: Laya.Sprite; | ||||
|   @property(Number) | ||||
|   public day: number = 0 | ||||
|  | ||||
|     @property(Laya.Box) | ||||
|     public obj_pie: Laya.Box; | ||||
|     @property(Laya.Sprite) | ||||
|     public sprite_pie: Laya.Sprite; | ||||
|   @property(Boolean) | ||||
|   public open: boolean = false | ||||
|  | ||||
|     @property(Laya.Sprite) | ||||
|     public obj_mask: Laya.Sprite; | ||||
|     @property(Laya.Sprite) | ||||
|     public sprite_mask: Laya.Sprite; | ||||
|   @property(Number) | ||||
|   public progress: number = 0 | ||||
|  | ||||
|     @property(Laya.Image) | ||||
|     public obj_star: Laya.Image; | ||||
|   private selected: boolean = false | ||||
|  | ||||
|     @property(Laya.Label) | ||||
|     public label_show: Laya.Label; | ||||
|   @property(Laya.Sprite) | ||||
|   public obj_selected: Laya.Sprite | ||||
|  | ||||
|   @property(Laya.Box) | ||||
|   public obj_pie: Laya.Box | ||||
|  | ||||
|     //组件被激活后执行,此时所有节点和组件均已创建完毕,此方法只执行一次 | ||||
|     onAwake(): void { | ||||
|   @property(Laya.Sprite) | ||||
|   public sprite_pie: Laya.Sprite | ||||
|  | ||||
|   @property(Laya.Sprite) | ||||
|   public obj_mask: Laya.Sprite | ||||
|  | ||||
|   @property(Laya.Sprite) | ||||
|   public sprite_mask: Laya.Sprite | ||||
|  | ||||
|   @property(Laya.Image) | ||||
|   public obj_star: Laya.Image | ||||
|  | ||||
|   @property(Laya.Label) | ||||
|   public label_show: Laya.Label | ||||
|  | ||||
|   // 组件被激活后执行,此时所有节点和组件均已创建完毕,此方法只执行一次 | ||||
|   onAwake(): void { | ||||
|  | ||||
|   } | ||||
|  | ||||
|   public onInit(label_obj: Laya.Label): void { | ||||
|     this.label_show = label_obj | ||||
|   } | ||||
|  | ||||
|   public setCalendarUnit(year: number, month: number, day: number, open: boolean, progress: number, handler: any, func: any): void { | ||||
|     this.selected = false | ||||
|     this.year = year | ||||
|     this.month = month | ||||
|     this.day = day | ||||
|     this.open = open | ||||
|     this.progress = progress | ||||
|     if (open) { | ||||
|       if (progress >= 1) { | ||||
|         this.label_show.text = "" | ||||
|       } else { | ||||
|         this.label_show.text = this.day.toString() | ||||
|       } | ||||
|       this.label_show.color = "#2d3138" | ||||
|       this.owner.on(Laya.Event.CLICK, handler, func) | ||||
|       this.updateUnit() | ||||
|     } else { | ||||
|       this.label_show.text = this.day.toString() | ||||
|       this.label_show.color = "#d3d5db" | ||||
|       this.owner.on(Laya.Event.CLICK, this, (evt: Laya.Event) => { | ||||
|  | ||||
|       }) | ||||
|       this.obj_selected.visible = false | ||||
|       this.obj_pie.visible = false | ||||
|       this.obj_mask.visible = false | ||||
|       this.obj_star.visible = false | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   public setSelected(selected: boolean): void { | ||||
|     this.selected = selected | ||||
|     this.updateUnit() | ||||
|   } | ||||
|  | ||||
|   updateUnit(): void { | ||||
|     if (this.open == false) { | ||||
|       return | ||||
|     } | ||||
|  | ||||
|     public onInit(label_obj: Laya.Label): void { | ||||
|         this.label_show = label_obj | ||||
|     this.obj_star.visible = this.progress >= 1 | ||||
|  | ||||
|     let blockSize = 48 | ||||
|     if (config.H_SCREEN) | ||||
|       blockSize = 33 | ||||
|  | ||||
|     if (this.selected) { | ||||
|       this.label_show.color = "#ffffff" | ||||
|       this.obj_selected.visible = true | ||||
|       if (this.progress > 0) { | ||||
|         this.obj_pie.visible = true | ||||
|         this.obj_mask.visible = true | ||||
|         this.sprite_pie.graphics.clear() | ||||
|         this.sprite_pie.graphics.drawPie(blockSize, blockSize, blockSize, 0, 360 * this.progress, "#ffffff") | ||||
|         this.sprite_mask.graphics.clear() | ||||
|         this.sprite_mask.graphics.drawCircle(0.5, 0.5, 0.5, "#1d5cdc") | ||||
|       } else { | ||||
|         this.obj_pie.visible = false | ||||
|         this.obj_mask.visible = false | ||||
|       } | ||||
|     } else { | ||||
|       this.label_show.color = "#2d3138" | ||||
|       this.obj_selected.visible = false | ||||
|       if (this.progress > 0 && this.progress < 1) { | ||||
|         this.obj_pie.visible = true | ||||
|         this.obj_mask.visible = true | ||||
|         this.sprite_pie.graphics.clear() | ||||
|         this.sprite_pie.graphics.drawPie(blockSize, blockSize, blockSize, 0, 360 * this.progress, "#2d3138") | ||||
|         this.sprite_mask.graphics.clear() | ||||
|         this.sprite_mask.graphics.drawCircle(0.5, 0.5, 0.5, "#ffffff") | ||||
|       } else { | ||||
|         this.obj_pie.visible = false | ||||
|         this.obj_mask.visible = false | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     public setCalendarUnit(year: number, month: number, day: number, open: boolean, progress: number, handler: any, func: any): void { | ||||
|         this.selected = false | ||||
|         this.year = year | ||||
|         this.month = month | ||||
|         this.day = day | ||||
|         this.open = open | ||||
|         this.progress = progress | ||||
|         if (open) { | ||||
|             if (progress >= 1) { | ||||
|                 this.label_show.text = "" | ||||
|             } | ||||
|             else { | ||||
|                 this.label_show.text = this.day.toString() | ||||
|             } | ||||
|             this.label_show.color = "#2d3138" | ||||
|             this.owner.on(Laya.Event.CLICK, handler, func) | ||||
|             this.updateUnit() | ||||
|         } | ||||
|         else { | ||||
|             this.label_show.text = this.day.toString() | ||||
|             this.label_show.color = "#d3d5db" | ||||
|             this.owner.on(Laya.Event.CLICK, this, (evt: Laya.Event)=>{ | ||||
|  | ||||
|             }) | ||||
|             this.obj_selected.visible = false | ||||
|             this.obj_pie.visible = false | ||||
|             this.obj_mask.visible = false | ||||
|             this.obj_star.visible = false | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public setSelected(selected: boolean): void { | ||||
|         this.selected = selected | ||||
|         this.updateUnit() | ||||
|     } | ||||
|  | ||||
|     updateUnit(): void { | ||||
|         if (this.open == false) { | ||||
|             return | ||||
|         } | ||||
|  | ||||
|         this.obj_star.visible = this.progress >= 1 | ||||
|  | ||||
|         var blockSize = 48 | ||||
|         if (config.H_SCREEN) | ||||
|             blockSize = 33 | ||||
|          | ||||
|         if (this.selected) { | ||||
|             this.label_show.color = "#ffffff" | ||||
|             this.obj_selected.visible = true | ||||
|             if (this.progress > 0) { | ||||
|                 this.obj_pie.visible = true | ||||
|                 this.obj_mask.visible = true | ||||
|                 this.sprite_pie.graphics.clear() | ||||
|                 this.sprite_pie.graphics.drawPie(blockSize, blockSize, blockSize, 0, 360*this.progress, "#ffffff") | ||||
|                 this.sprite_mask.graphics.clear() | ||||
|                 this.sprite_mask.graphics.drawCircle(0.5, 0.5, 0.5, "#1d5cdc") | ||||
|             } | ||||
|             else { | ||||
|                 this.obj_pie.visible = false | ||||
|                 this.obj_mask.visible = false  | ||||
|             } | ||||
|         } | ||||
|         else { | ||||
|             this.label_show.color = "#2d3138" | ||||
|             this.obj_selected.visible = false | ||||
|             if (this.progress > 0 && this.progress < 1) { | ||||
|                 this.obj_pie.visible = true | ||||
|                 this.obj_mask.visible = true | ||||
|                 this.sprite_pie.graphics.clear() | ||||
|                 this.sprite_pie.graphics.drawPie(blockSize, blockSize, blockSize, 0, 360*this.progress, "#2d3138") | ||||
|                 this.sprite_mask.graphics.clear() | ||||
|                 this.sprite_mask.graphics.drawCircle(0.5, 0.5, 0.5, "#ffffff") | ||||
|             } | ||||
|             else { | ||||
|                 this.obj_pie.visible = false | ||||
|                 this.obj_mask.visible = false | ||||
|             }             | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,282 +1,293 @@ | ||||
| import { config } from "../../constants/config"; | ||||
| import { Utility_ConvertSecondToString } from "../../utils/utility"; | ||||
| import { StorageManager } from "../../models/StorageManager"; | ||||
| import { CalendarUnit } from "./CalendarUnit"; | ||||
| import { UIManager } from "../../models/UIManager"; | ||||
| import { respath } from "../../constants/respath"; | ||||
| import { MONTH_LIST } from "../../models/DCManager"; | ||||
| import { EVENT_TYPES, EventManager } from "../../models/EventManager"; | ||||
| import { config } from "../../constants/config" | ||||
| import { respath } from "../../constants/respath" | ||||
| import { MONTH_LIST } from "../../models/DCManager" | ||||
| import { EVENT_TYPES, EventManager } from "../../models/EventManager" | ||||
| import { StorageManager } from "../../models/StorageManager" | ||||
| import { UIManager } from "../../models/UIManager" | ||||
| import { Utility_ConvertSecondToString } from "../../utils/utility" | ||||
| import { CalendarUnit } from "./CalendarUnit" | ||||
|  | ||||
|  | ||||
| const { regClass, property } = Laya; | ||||
| const { regClass, property } = Laya | ||||
| @regClass() | ||||
| export class DailyChallenge extends Laya.Script { | ||||
|     declare owner : Laya.Box; | ||||
|   declare owner: Laya.Box | ||||
|  | ||||
|     @property(Laya.Button) | ||||
|     public btn_back: Laya.Button | ||||
|     @property(Laya.Image) | ||||
|     public btn_trophy: Laya.Image | ||||
|     @property(Laya.Sprite) | ||||
|     public btn_trophy_red: Laya.Sprite | ||||
|     @property(Laya.Image) | ||||
|     public trophy_light: Laya.Image | ||||
|     @property(Laya.Image) | ||||
|     public trophy_icon: Laya.Image | ||||
|     @property(Laya.Box) | ||||
|     public btn_left: Laya.Box | ||||
|     @property(Laya.Box) | ||||
|     public btn_right: Laya.Box | ||||
|   @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) | ||||
|     public label_month: Laya.Label; | ||||
|     @property(Laya.Label) | ||||
|     public label_star: Laya.Label; | ||||
|   @property(Laya.Image) | ||||
|   public btn_trophy: Laya.Image | ||||
|  | ||||
|     @property(Laya.Box) | ||||
|     public btn_play: Laya.Box | ||||
|     @property(Laya.Label) | ||||
|     public label_play: Laya.Label | ||||
|     @property(Laya.Box) | ||||
|     public obj_summary: Laya.Box | ||||
|     @property(Laya.Label) | ||||
|     public label_date: Laya.Label; | ||||
|     @property(Laya.Label) | ||||
|     public label_diffucuty: Laya.Label | ||||
|     @property(Laya.Label) | ||||
|     public label_score: Laya.Label | ||||
|     @property(Laya.Label) | ||||
|     public label_time: Laya.Label | ||||
|   @property(Laya.Sprite) | ||||
|   public btn_trophy_red: Laya.Sprite | ||||
|  | ||||
|     @property(Laya.Box) | ||||
|     public obj_items: Laya.Box; | ||||
|     @property(Laya.Box) | ||||
|     public obj_labels: Laya.Box; | ||||
|     private units: Array<CalendarUnit> = new Array(); | ||||
|   @property(Laya.Image) | ||||
|   public trophy_light: Laya.Image | ||||
|  | ||||
|     private selectedUnit: CalendarUnit; | ||||
|     private currentIndex: number | ||||
|     private indexMax: number | ||||
|   @property(Laya.Image) | ||||
|   public trophy_icon: Laya.Image | ||||
|  | ||||
|     private static _instance: DailyChallenge | ||||
|     onAwake(): void { | ||||
|         DailyChallenge._instance = this | ||||
|   @property(Laya.Box) | ||||
|   public btn_left: Laya.Box | ||||
|  | ||||
|         if (this.btn_back) { | ||||
|             this.btn_back.on(Laya.Event.CLICK, this, ()=>{ | ||||
|                 UIManager.getInstance().loadHomeUI() | ||||
|                 UIManager.getInstance().closeDCUI() | ||||
|             }) | ||||
|         } | ||||
|   @property(Laya.Box) | ||||
|   public btn_right: Laya.Box | ||||
|  | ||||
|         var user = StorageManager.getInstance().getUser() | ||||
|         this.btn_trophy_red.visible = user.get_trophyHasUnread() | ||||
|         this.btn_trophy.on(Laya.Event.CLICK, this, ()=>{ | ||||
|             user.set_trophyAllread() | ||||
|             this.btn_trophy_red.visible = false | ||||
|             UIManager.getInstance().loadTrophyUI() | ||||
|         }) | ||||
|   @property(Laya.Image) | ||||
|   public bg_dc: Laya.Image | ||||
|  | ||||
|         this.btn_play.on(Laya.Event.CLICK, this, (evt: Laya.Event)=>{ | ||||
|             // console.log(">>>>>>>>>>>>>>>>>>>>>>>", this.selectedUnit.day) | ||||
|             var now = new Date() | ||||
|             var year = now.getFullYear() | ||||
|             var month = now.getMonth() + 1 | ||||
|             var dayNow = this.selectedUnit.day | ||||
|             var stageID = `${year}-${month}-${dayNow}` | ||||
|             var doStage = StorageManager.getInstance().getStage(stageID) | ||||
|             console.log("play >>>>>>>>>>>>>>>>>>>>>>>", stageID, doStage) | ||||
|             if (!doStage || doStage.get_mistake() >= config.MISTAKE_MAX) { | ||||
|                 var stageName = `${config.MONTH_ABBRS[month-1]} ${dayNow}` | ||||
|                 StorageManager.getInstance().newStage(stageID, config.STAGE_TYPE.DC, stageName) | ||||
|             } | ||||
|             UIManager.getInstance().loadStageUI(stageID); | ||||
|             this.owner.destroy() | ||||
|         }) | ||||
|   @property(Laya.Label) | ||||
|   public label_year: Laya.Label | ||||
|  | ||||
|         for (var i=0; i<this.obj_items.numChildren; i++) { | ||||
|             var hbox = this.obj_items.getChildAt(i) | ||||
|             var l_hbox = this.obj_labels.getChildAt(i) | ||||
|             for (var j=0; j<hbox.numChildren; j++) { | ||||
|                 var unit = hbox.getChildAt(j).getComponent(CalendarUnit) | ||||
|                 var l_obj = l_hbox.getChildAt(j) as Laya.Label | ||||
|                 this.units.push(unit) | ||||
|                 unit.onInit(l_obj) | ||||
|             } | ||||
|         } | ||||
|   @property(Laya.Label) | ||||
|   public label_month: Laya.Label | ||||
|  | ||||
|         this.indexMax = MONTH_LIST.length - 1 | ||||
|         var now = new Date() | ||||
|         var nowYear = now.getFullYear() | ||||
|         var nowMonth = now.getMonth() + 1 | ||||
|         for (var i=0; i<MONTH_LIST.length; i++) { | ||||
|             var obj = MONTH_LIST[i] | ||||
|             if (nowYear == obj.year && nowMonth == obj.month) { | ||||
|                 this.indexMax = i; | ||||
|                 break | ||||
|             } | ||||
|         } | ||||
|         this.btn_left.on(Laya.Event.CLICK, this, ()=>{ | ||||
|             if (this.currentIndex > 0) { | ||||
|                 this.currentIndex -- | ||||
|                 this.loadWithIndex(this.currentIndex) | ||||
|             } | ||||
|         }) | ||||
|         this.btn_right.on(Laya.Event.CLICK, this, ()=>{ | ||||
|             if (this.currentIndex < this.indexMax) { | ||||
|                 this.currentIndex ++ | ||||
|                 this.loadWithIndex(this.currentIndex) | ||||
|             } | ||||
|         }) | ||||
|   @property(Laya.Label) | ||||
|   public label_star: Laya.Label | ||||
|  | ||||
|         EventManager.getInstance().RegisterEvent(EVENT_TYPES.NOT_SET_TROPHY_BUTTON, DailyChallenge.EventUpdateTrophyButton) | ||||
|   @property(Laya.Box) | ||||
|   public btn_play: Laya.Box | ||||
|  | ||||
|   @property(Laya.Label) | ||||
|   public label_play: Laya.Label | ||||
|  | ||||
|   @property(Laya.Box) | ||||
|   public obj_summary: Laya.Box | ||||
|  | ||||
|   @property(Laya.Label) | ||||
|   public label_date: Laya.Label | ||||
|  | ||||
|   @property(Laya.Label) | ||||
|   public label_diffucuty: Laya.Label | ||||
|  | ||||
|   @property(Laya.Label) | ||||
|   public label_score: Laya.Label | ||||
|  | ||||
|   @property(Laya.Label) | ||||
|   public label_time: Laya.Label | ||||
|  | ||||
|   @property(Laya.Box) | ||||
|   public obj_items: Laya.Box | ||||
|  | ||||
|   @property(Laya.Box) | ||||
|   public obj_labels: Laya.Box | ||||
|  | ||||
|   private units: Array<CalendarUnit> = [] | ||||
|  | ||||
|   private selectedUnit: CalendarUnit | ||||
|   private currentIndex: number | ||||
|   private indexMax: number | ||||
|  | ||||
|   private static _instance: DailyChallenge | ||||
|   onAwake(): void { | ||||
|     DailyChallenge._instance = this | ||||
|  | ||||
|     if (this.btn_back) { | ||||
|       this.btn_back.on(Laya.Event.CLICK, this, () => { | ||||
|         UIManager.getInstance().loadHomeUI() | ||||
|         UIManager.getInstance().closeDCUI() | ||||
|       }) | ||||
|     } | ||||
|  | ||||
|     onDestroy(): void { | ||||
|         EventManager.getInstance().UnregisterEvent(EVENT_TYPES.NOT_SET_TROPHY_BUTTON, DailyChallenge.EventUpdateTrophyButton) | ||||
|     } | ||||
|      | ||||
|     public static EventUpdateTrophyButton(arg: any): void { | ||||
|         if (DailyChallenge._instance) { | ||||
|             DailyChallenge._instance.btn_trophy.visible = arg | ||||
|         } | ||||
|     const user = StorageManager.getInstance().getUser() | ||||
|     this.btn_trophy_red.visible = user.get_trophyHasUnread() | ||||
|     this.btn_trophy.on(Laya.Event.CLICK, this, () => { | ||||
|       user.set_trophyAllread() | ||||
|       this.btn_trophy_red.visible = false | ||||
|       UIManager.getInstance().loadTrophyUI() | ||||
|     }) | ||||
|  | ||||
|     this.btn_play.on(Laya.Event.CLICK, this, (evt: Laya.Event) => { | ||||
|       // console.log(">>>>>>>>>>>>>>>>>>>>>>>", this.selectedUnit.day) | ||||
|       const now = new Date() | ||||
|       const year = now.getFullYear() | ||||
|       const month = now.getMonth() + 1 | ||||
|       const dayNow = this.selectedUnit.day | ||||
|       const stageID = `${year}-${month}-${dayNow}` | ||||
|       const doStage = StorageManager.getInstance().getStage(stageID) | ||||
|       console.log("play >>>>>>>>>>>>>>>>>>>>>>>", stageID, doStage) | ||||
|       if (!doStage || doStage.get_mistake() >= config.MISTAKE_MAX) { | ||||
|         const stageName = `${config.MONTH_ABBRS[month - 1]} ${dayNow}` | ||||
|         StorageManager.getInstance().newStage(stageID, config.STAGE_TYPE.DC, stageName) | ||||
|       } | ||||
|       UIManager.getInstance().loadStageUI(stageID) | ||||
|       this.owner.destroy() | ||||
|     }) | ||||
|  | ||||
|     for (var i = 0; i < this.obj_items.numChildren; i++) { | ||||
|       const hbox = this.obj_items.getChildAt(i) | ||||
|       const l_hbox = this.obj_labels.getChildAt(i) | ||||
|       for (let j = 0; j < hbox.numChildren; j++) { | ||||
|         const unit = hbox.getChildAt(j).getComponent(CalendarUnit) | ||||
|         const l_obj = l_hbox.getChildAt(j) as Laya.Label | ||||
|         this.units.push(unit) | ||||
|         unit.onInit(l_obj) | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     loadWithMonth(): void { | ||||
|         var now = new Date() | ||||
|         var nowYear = now.getFullYear() | ||||
|         var nowMonth = now.getMonth() + 1 | ||||
|         this.currentIndex = 0 | ||||
|         for (var i=0; i<MONTH_LIST.length; i++) { | ||||
|             var obj = MONTH_LIST[i] | ||||
|             if (nowYear == obj.year && nowMonth == obj.month) { | ||||
|                 this.currentIndex = i; | ||||
|                 break | ||||
|             } | ||||
|         } | ||||
|         console.log("DailyChallenge loadWithMonth >>>>>>>>>>>>>>>", nowYear, nowMonth, this.currentIndex) | ||||
|     this.indexMax = MONTH_LIST.length - 1 | ||||
|     const now = new Date() | ||||
|     const nowYear = now.getFullYear() | ||||
|     const nowMonth = now.getMonth() + 1 | ||||
|     for (var i = 0; i < MONTH_LIST.length; i++) { | ||||
|       const obj = MONTH_LIST[i] | ||||
|       if (nowYear == obj.year && nowMonth == obj.month) { | ||||
|         this.indexMax = i | ||||
|         break | ||||
|       } | ||||
|     } | ||||
|     this.btn_left.on(Laya.Event.CLICK, this, () => { | ||||
|       if (this.currentIndex > 0) { | ||||
|         this.currentIndex-- | ||||
|         this.loadWithIndex(this.currentIndex) | ||||
|       } | ||||
|     }) | ||||
|     this.btn_right.on(Laya.Event.CLICK, this, () => { | ||||
|       if (this.currentIndex < this.indexMax) { | ||||
|         this.currentIndex++ | ||||
|         this.loadWithIndex(this.currentIndex) | ||||
|       } | ||||
|     }) | ||||
|  | ||||
|     EventManager.getInstance().RegisterEvent(EVENT_TYPES.NOT_SET_TROPHY_BUTTON, DailyChallenge.EventUpdateTrophyButton) | ||||
|   } | ||||
|  | ||||
|   onDestroy(): void { | ||||
|     EventManager.getInstance().UnregisterEvent(EVENT_TYPES.NOT_SET_TROPHY_BUTTON, DailyChallenge.EventUpdateTrophyButton) | ||||
|   } | ||||
|  | ||||
|   public static EventUpdateTrophyButton(arg: any): void { | ||||
|     if (DailyChallenge._instance) { | ||||
|       DailyChallenge._instance.btn_trophy.visible = arg | ||||
|     } | ||||
|   } | ||||
|  | ||||
|     public loadWithIndex(index: number): void { | ||||
|         this.btn_left.visible = this.currentIndex > 0 | ||||
|         this.btn_right.visible = this.currentIndex < this.indexMax | ||||
|         var info = MONTH_LIST[index] | ||||
|         var user = StorageManager.getInstance().getUser() | ||||
|         var now = new Date() | ||||
|         var nowYear = now.getFullYear() | ||||
|         var nowMonth = now.getMonth() + 1 | ||||
|         var nowDay = new Date().getDate() | ||||
|          | ||||
|         this.trophy_icon.skin = info.icon_res | ||||
|         //设置背景 | ||||
|         var starCount = user.get_doneCountByDate(info.year, info.month) | ||||
|         if (starCount >= info.dayCount) { | ||||
|             this.bg_dc.skin = respath.dc_top_bg_month_finish | ||||
|             this.trophy_light.visible = true | ||||
|         } | ||||
|         else { | ||||
|             this.bg_dc.skin = respath.dc_top_bg_normal | ||||
|             this.trophy_light.visible = false | ||||
|         } | ||||
|         this.label_year.text = info.year.toString() | ||||
|         this.label_month.text = config.MONTH_FULLNAMES[info.month-1] | ||||
|         this.label_star.text = `${starCount}/${info.dayCount}` | ||||
|   loadWithMonth(): void { | ||||
|     const now = new Date() | ||||
|     const nowYear = now.getFullYear() | ||||
|     const nowMonth = now.getMonth() + 1 | ||||
|     this.currentIndex = 0 | ||||
|     for (let i = 0; i < MONTH_LIST.length; i++) { | ||||
|       const obj = MONTH_LIST[i] | ||||
|       if (nowYear == obj.year && nowMonth == obj.month) { | ||||
|         this.currentIndex = i | ||||
|         break | ||||
|       } | ||||
|     } | ||||
|     console.log("DailyChallenge loadWithMonth >>>>>>>>>>>>>>>", nowYear, nowMonth, this.currentIndex) | ||||
|     this.loadWithIndex(this.currentIndex) | ||||
|   } | ||||
|  | ||||
|         this.selectedUnit = null | ||||
|         var day = 1         | ||||
|         for (var i=0; i<this.units.length; i++) { | ||||
|             var unit = this.units[i] | ||||
|             if (i >= info.begin && i < info.begin+info.dayCount) { | ||||
|                 unit.owner.visible = true | ||||
|                 unit.label_show.visible = true | ||||
|                 var open = true | ||||
|                 if (info.year > nowYear) { | ||||
|                     open = false | ||||
|                 } | ||||
|                 else if (info.year == nowYear) { | ||||
|                     if (info.month > nowMonth) { | ||||
|                         open = false | ||||
|                     } | ||||
|                     else if (info.month == nowMonth) { | ||||
|                         if (day > nowDay) { | ||||
|                             open = false | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 var stageID = `${info.year}-${info.month}-${day}` | ||||
|                 var progress = user.get_done(stageID) | ||||
|                 if (open && progress < 1) {//检查失败的关卡,如果失败了就重置 | ||||
|                     var doStage = StorageManager.getInstance().getStage(stageID) | ||||
|                     if (doStage) {//有关卡数据 | ||||
|                         if (doStage.get_mistake() >= config.MISTAKE_MAX) { | ||||
|                             progress = 0 | ||||
|                             user.update_stage_done(stageID, 0) | ||||
|                             StorageManager.getInstance().cleanStage(stageID) | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 unit.setCalendarUnit(info.year, info.month, day, open, progress, this, this.onClickUnit) | ||||
|                 if (info.year == nowYear && info.month == nowMonth && day == nowDay) { | ||||
|                     this.selectedUnit = unit | ||||
|                 } | ||||
|                 day ++ | ||||
|   public loadWithIndex(index: number): void { | ||||
|     this.btn_left.visible = this.currentIndex > 0 | ||||
|     this.btn_right.visible = this.currentIndex < this.indexMax | ||||
|     const info = MONTH_LIST[index] | ||||
|     const user = StorageManager.getInstance().getUser() | ||||
|     const now = new Date() | ||||
|     const nowYear = now.getFullYear() | ||||
|     const nowMonth = now.getMonth() + 1 | ||||
|     const nowDay = new Date().getDate() | ||||
|  | ||||
|     this.trophy_icon.skin = info.icon_res | ||||
|     // 设置背景 | ||||
|     const starCount = user.get_doneCountByDate(info.year, info.month) | ||||
|     if (starCount >= info.dayCount) { | ||||
|       this.bg_dc.skin = respath.dc_top_bg_month_finish | ||||
|       this.trophy_light.visible = true | ||||
|     } else { | ||||
|       this.bg_dc.skin = respath.dc_top_bg_normal | ||||
|       this.trophy_light.visible = false | ||||
|     } | ||||
|     this.label_year.text = info.year.toString() | ||||
|     this.label_month.text = config.MONTH_FULLNAMES[info.month - 1] | ||||
|     this.label_star.text = `${starCount}/${info.dayCount}` | ||||
|  | ||||
|     this.selectedUnit = null | ||||
|     let day = 1 | ||||
|     for (let i = 0; i < this.units.length; i++) { | ||||
|       const unit = this.units[i] | ||||
|       if (i >= info.begin && i < info.begin + info.dayCount) { | ||||
|         unit.owner.visible = true | ||||
|         unit.label_show.visible = true | ||||
|         let open = true | ||||
|         if (info.year > nowYear) { | ||||
|           open = false | ||||
|         } else if (info.year == nowYear) { | ||||
|           if (info.month > nowMonth) { | ||||
|             open = false | ||||
|           } else if (info.month == nowMonth) { | ||||
|             if (day > nowDay) { | ||||
|               open = false | ||||
|             } | ||||
|             else { | ||||
|                 unit.owner.visible = false | ||||
|                 unit.label_show.visible = false | ||||
|           } | ||||
|         } | ||||
|         const stageID = `${info.year}-${info.month}-${day}` | ||||
|         let progress = user.get_done(stageID) | ||||
|         if (open && progress < 1) { // 检查失败的关卡,如果失败了就重置 | ||||
|           const doStage = StorageManager.getInstance().getStage(stageID) | ||||
|           if (doStage) { // 有关卡数据 | ||||
|             if (doStage.get_mistake() >= config.MISTAKE_MAX) { | ||||
|               progress = 0 | ||||
|               user.update_stage_done(stageID, 0) | ||||
|               StorageManager.getInstance().cleanStage(stageID) | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|         if (!this.selectedUnit) | ||||
|             this.selectedUnit = this.units[info.begin+info.dayCount-1] | ||||
|         this.onApplyUnit(this.selectedUnit) | ||||
|         unit.setCalendarUnit(info.year, info.month, day, open, progress, this, this.onClickUnit) | ||||
|         if (info.year == nowYear && info.month == nowMonth && day == nowDay) { | ||||
|           this.selectedUnit = unit | ||||
|         } | ||||
|         day++ | ||||
|       } else { | ||||
|         unit.owner.visible = false | ||||
|         unit.label_show.visible = false | ||||
|       } | ||||
|     } | ||||
|     if (!this.selectedUnit) | ||||
|       this.selectedUnit = this.units[info.begin + info.dayCount - 1] | ||||
|     this.onApplyUnit(this.selectedUnit) | ||||
|   } | ||||
|  | ||||
|     public onApplyUnit(unit: CalendarUnit): void { | ||||
|         this.selectedUnit.setSelected(false) | ||||
|         this.selectedUnit = unit | ||||
|         this.selectedUnit.setSelected(true) | ||||
|   public onApplyUnit(unit: CalendarUnit): void { | ||||
|     this.selectedUnit.setSelected(false) | ||||
|     this.selectedUnit = unit | ||||
|     this.selectedUnit.setSelected(true) | ||||
|  | ||||
|         var stageID = `${unit.year}-${unit.month}-${unit.day}` | ||||
|         this.label_date.text = `${config.MONTH_ABBRS[unit.month-1]} ${unit.day},${unit.year}` | ||||
|         var user = StorageManager.getInstance().getUser() | ||||
|         var progress = user.get_done(stageID) | ||||
|         // console.log("onApplyUnit >>>>>", stageID, progress) | ||||
|         if (progress >= 1) { | ||||
|             this.btn_play.visible = false | ||||
|             this.obj_summary.visible = true | ||||
|             var doStage = StorageManager.getInstance().getStage(stageID) | ||||
|             this.label_diffucuty.text = doStage.get_difficulty() | ||||
|             this.label_score.text = doStage.get_score().toString() | ||||
|             this.label_time.text = Utility_ConvertSecondToString(doStage.get_duration()) | ||||
|         } | ||||
|         else { | ||||
|             this.btn_play.visible = true | ||||
|             this.obj_summary.visible = false | ||||
|             var doStage = StorageManager.getInstance().getStage(stageID) | ||||
|             if (doStage) { | ||||
|                 this.label_play.text = "Continue" | ||||
|             } | ||||
|             else { | ||||
|                 this.label_play.text = "Play" | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     public onClickUnit(evt: Laya.Event): void { | ||||
|         var unit = evt.target.getComponent(CalendarUnit) | ||||
|         this.onApplyUnit(unit) | ||||
|     const stageID = `${unit.year}-${unit.month}-${unit.day}` | ||||
|     this.label_date.text = `${config.MONTH_ABBRS[unit.month - 1]} ${unit.day},${unit.year}` | ||||
|     const user = StorageManager.getInstance().getUser() | ||||
|     const progress = user.get_done(stageID) | ||||
|     // console.log("onApplyUnit >>>>>", stageID, progress) | ||||
|     if (progress >= 1) { | ||||
|       this.btn_play.visible = false | ||||
|       this.obj_summary.visible = true | ||||
|       var doStage = StorageManager.getInstance().getStage(stageID) | ||||
|       this.label_diffucuty.text = doStage.get_difficulty() | ||||
|       this.label_score.text = doStage.get_score().toString() | ||||
|       this.label_time.text = Utility_ConvertSecondToString(doStage.get_duration()) | ||||
|     } else { | ||||
|       this.btn_play.visible = true | ||||
|       this.obj_summary.visible = false | ||||
|       var doStage = StorageManager.getInstance().getStage(stageID) | ||||
|       if (doStage) { | ||||
|         this.label_play.text = "Continue" | ||||
|       } else { | ||||
|         this.label_play.text = "Play" | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
|     onStart(): void { | ||||
|         var user = StorageManager.getInstance().getUser() | ||||
|         var find = user.get_trophyHasNew() | ||||
|         if (find) { | ||||
|             UIManager.getInstance().loadTrophyClaimUI(find) | ||||
|             user.set_trophyNew(find, false) | ||||
|         } | ||||
|   public onClickUnit(evt: Laya.Event): void { | ||||
|     const unit = evt.target.getComponent(CalendarUnit) | ||||
|     this.onApplyUnit(unit) | ||||
|   } | ||||
|  | ||||
|   onStart(): void { | ||||
|     const user = StorageManager.getInstance().getUser() | ||||
|     const find = user.get_trophyHasNew() | ||||
|     if (find) { | ||||
|       UIManager.getInstance().loadTrophyClaimUI(find) | ||||
|       user.set_trophyNew(find, false) | ||||
|     } | ||||
| } | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,36 +1,35 @@ | ||||
| import { config } from "../../constants/config"; | ||||
| import { MONTH_LIST } from "../../models/DCManager"; | ||||
| import { TrophyRecord } from "../../types/global"; | ||||
| import type { TrophyRecord } from "../../types/global" | ||||
| import { config } from "../../constants/config" | ||||
| import { MONTH_LIST } from "../../models/DCManager" | ||||
|  | ||||
| const { regClass, property } = Laya; | ||||
| const { regClass, property } = Laya | ||||
|  | ||||
| @regClass() | ||||
| export class TrophyClaim extends Laya.Script { | ||||
|     declare owner : Laya.Box; | ||||
|   declare owner: Laya.Box | ||||
|  | ||||
|     @property(Laya.Image) | ||||
|     public icon: Laya.Image | ||||
|   @property(Laya.Image) | ||||
|   public icon: Laya.Image | ||||
|  | ||||
|     @property(Laya.Label) | ||||
|     public label_date: Laya.Label | ||||
|   @property(Laya.Label) | ||||
|   public label_date: Laya.Label | ||||
|  | ||||
|     @property(Laya.Box) | ||||
|     public btn_close: Laya.Box | ||||
|   @property(Laya.Box) | ||||
|   public btn_close: Laya.Box | ||||
|  | ||||
|     public onSetShow(record: TrophyRecord): void { | ||||
|         for (var i=0; i<MONTH_LIST.length; i++) { | ||||
|             var obj = MONTH_LIST[i] | ||||
|             if (obj.year == record.year && obj.month == record.month) { | ||||
|                 this.icon.skin = obj.icon_res | ||||
|                 break | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         this.label_date.text = `${config.MONTH_ABBRS[record.month-1]} ${record.day},${record.year}` | ||||
|  | ||||
|         this.btn_close.on(Laya.Event.CLICK, this, ()=>{ | ||||
|             this.owner.destroy() | ||||
|         }) | ||||
|   public onSetShow(record: TrophyRecord): void { | ||||
|     for (let i = 0; i < MONTH_LIST.length; i++) { | ||||
|       const obj = MONTH_LIST[i] | ||||
|       if (obj.year == record.year && obj.month == record.month) { | ||||
|         this.icon.skin = obj.icon_res | ||||
|         break | ||||
|       } | ||||
|     } | ||||
|  | ||||
| } | ||||
|     this.label_date.text = `${config.MONTH_ABBRS[record.month - 1]} ${record.day},${record.year}` | ||||
|  | ||||
|     this.btn_close.on(Laya.Event.CLICK, this, () => { | ||||
|       this.owner.destroy() | ||||
|     }) | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,116 +1,109 @@ | ||||
| import { config } from "../../constants/config" | ||||
| import { respath } from "../../constants/respath" | ||||
| import { MONTH_LIST } from "../../models/DCManager" | ||||
| import { EVENT_TYPES, EventManager } from "../../models/EventManager" | ||||
| import { UIManager } from "../../models/UIManager" | ||||
| import { TrophyUnit } from "./TrophyUnit" | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| import { config } from "../../constants/config"; | ||||
| import { respath } from "../../constants/respath"; | ||||
| import { MONTH_LIST } from "../../models/DCManager"; | ||||
| import { EVENT_TYPES, EventManager } from "../../models/EventManager"; | ||||
| import { UIManager } from "../../models/UIManager"; | ||||
| import { TrophyUnit } from "./TrophyUnit"; | ||||
|  | ||||
| const { regClass, property } = Laya; | ||||
| const { regClass, property } = Laya | ||||
|  | ||||
| @regClass() | ||||
| export class TrophyRoom extends Laya.Script { | ||||
|     declare owner : Laya.Box; | ||||
|   declare owner: Laya.Box | ||||
|  | ||||
|     @property(Laya.Box) | ||||
|     public btn_back: Laya.Box; | ||||
|   @property(Laya.Box) | ||||
|   public btn_back: Laya.Box | ||||
|  | ||||
|     @property(Laya.Box) | ||||
|     public obj_items: Laya.Box; | ||||
|   @property(Laya.Box) | ||||
|   public obj_items: Laya.Box | ||||
|  | ||||
|     //第一次执行update之前执行,只会执行一次 | ||||
|     onStart(): void { | ||||
|   // 第一次执行update之前执行,只会执行一次 | ||||
|   onStart(): void { | ||||
|     let trophyCountOfCell = 3 | ||||
|     if (config.H_SCREEN) | ||||
|       trophyCountOfCell = 5 | ||||
|  | ||||
|         var trophyCountOfCell = 3 | ||||
|         if (config.H_SCREEN) | ||||
|             trophyCountOfCell = 5 | ||||
|     this.btn_back.on(Laya.Event.CLICK, this, () => { | ||||
|       UIManager.getInstance().closeTrophyUI() | ||||
|     }) | ||||
|  | ||||
|         this.btn_back.on(Laya.Event.CLICK, this, ()=>{ | ||||
|             UIManager.getInstance().closeTrophyUI() | ||||
|         }) | ||||
|  | ||||
|         var infos: Array<any> = new Array() | ||||
|         var now = new Date() | ||||
|         var nowYear = now.getFullYear() | ||||
|         var nowMonth = now.getMonth() + 1 | ||||
|         for (var i=0; i<MONTH_LIST.length; i++) { | ||||
|             var obj = MONTH_LIST[i] | ||||
|             infos.push(obj) | ||||
|             if (obj.year == nowYear && obj.month == nowMonth) { | ||||
|                 break | ||||
|             } | ||||
|         } | ||||
|         infos.reverse() | ||||
|  | ||||
|         var years: Array<number> = new Array() | ||||
|         var monthMap: Map<number, Array<any>> = new Map()  | ||||
|         for (var i=0; i<infos.length; i++) { | ||||
|             obj = infos[i] | ||||
|             if (years.indexOf(obj.year) < 0) { | ||||
|                 years.push(obj.year) | ||||
|             } | ||||
|             if (monthMap.has(obj.year)== false) { | ||||
|                 monthMap.set(obj.year, new Array()) | ||||
|             } | ||||
|             var list = monthMap.get(obj.year) | ||||
|             list.push(obj) | ||||
|         } | ||||
|         console.log(">>>>>>>>>>>>years=", years) | ||||
|         Laya.loader.load(respath.trophy_year_ui_res()).then((go)=>{ | ||||
|             for (var i=1; i<years.length; i++) { | ||||
|                 var obj_year = this.obj_items.getChildAt(i) | ||||
|                 if (!obj_year) { | ||||
|                     var prefab = go.create() | ||||
|                     this.obj_items.addChild(prefab) | ||||
|                 } | ||||
|             } | ||||
|              | ||||
|             Laya.loader.load(respath.trophy_cell_ui_res()).then((go)=>{ | ||||
|                 var itemsHeight = 0 | ||||
|                 for (var i=0; i<years.length; i++) { | ||||
|                     var list = monthMap.get(years[i]) | ||||
|                     var cellCount = Math.ceil(list.length/trophyCountOfCell) | ||||
|                     var yearHeight = 120 + cellCount * 444 | ||||
|                     itemsHeight += yearHeight | ||||
|  | ||||
|                     var obj_year = this.obj_items.getChildAt(i) as Laya.Box | ||||
|                     obj_year.height = yearHeight | ||||
|                     var label = obj_year.getChildByName("year").getChildByName("Label") as Laya.Label | ||||
|                     label.text = years[i].toString() | ||||
|                      | ||||
|                     var index = -1 | ||||
|                     for (var j=1; j<cellCount+1; j++) { | ||||
|                         var obj_cell = obj_year.getChildAt(j) | ||||
|                         if (!obj_cell) { | ||||
|                             var prefab = go.create() | ||||
|                             obj_cell = obj_year.addChild(prefab) | ||||
|                         } | ||||
|                         var hbox = obj_cell.getChildByName("HBox") | ||||
|                         for (var k=0; k<hbox.numChildren; k++) { | ||||
|                             var unit = hbox.getChildAt(k).getComponent(TrophyUnit) | ||||
|                             index ++ | ||||
|                             if (index < list.length) { | ||||
|                                 unit.owner.visible = true | ||||
|                                 unit.onInit(list[index]) | ||||
|                             } | ||||
|                             else { | ||||
|                                 unit.owner.visible = false | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 this.obj_items.height = itemsHeight | ||||
|             }) | ||||
|         }) | ||||
|  | ||||
|  | ||||
|         EventManager.getInstance().DispatchEvent(EVENT_TYPES.NOT_SET_TROPHY_BUTTON, false) | ||||
|     const infos: Array<any> = [] | ||||
|     const now = new Date() | ||||
|     const nowYear = now.getFullYear() | ||||
|     const nowMonth = now.getMonth() + 1 | ||||
|     for (var i = 0; i < MONTH_LIST.length; i++) { | ||||
|       var obj = MONTH_LIST[i] | ||||
|       infos.push(obj) | ||||
|       if (obj.year == nowYear && obj.month == nowMonth) { | ||||
|         break | ||||
|       } | ||||
|     } | ||||
|     infos.reverse() | ||||
|  | ||||
|     onDestroy(): void { | ||||
|         EventManager.getInstance().DispatchEvent(EVENT_TYPES.NOT_SET_TROPHY_BUTTON, true) | ||||
|     const years: Array<number> = [] | ||||
|     const monthMap: Map<number, Array<any>> = new Map() | ||||
|     for (var i = 0; i < infos.length; i++) { | ||||
|       obj = infos[i] | ||||
|       if (!years.includes(obj.year)) { | ||||
|         years.push(obj.year) | ||||
|       } | ||||
|       if (monthMap.has(obj.year) == false) { | ||||
|         monthMap.set(obj.year, []) | ||||
|       } | ||||
|       const list = monthMap.get(obj.year) | ||||
|       list.push(obj) | ||||
|     } | ||||
| } | ||||
|     console.log(">>>>>>>>>>>>years=", years) | ||||
|     Laya.loader.load(respath.trophy_year_ui_res()).then((go) => { | ||||
|       for (let i = 1; i < years.length; i++) { | ||||
|         const obj_year = this.obj_items.getChildAt(i) | ||||
|         if (!obj_year) { | ||||
|           const prefab = go.create() | ||||
|           this.obj_items.addChild(prefab) | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       Laya.loader.load(respath.trophy_cell_ui_res()).then((go) => { | ||||
|         let itemsHeight = 0 | ||||
|         for (let i = 0; i < years.length; i++) { | ||||
|           const list = monthMap.get(years[i]) | ||||
|           const cellCount = Math.ceil(list.length / trophyCountOfCell) | ||||
|           const yearHeight = 120 + cellCount * 444 | ||||
|           itemsHeight += yearHeight | ||||
|  | ||||
|           const obj_year = this.obj_items.getChildAt(i) as Laya.Box | ||||
|           obj_year.height = yearHeight | ||||
|           const label = obj_year.getChildByName("year").getChildByName("Label") as Laya.Label | ||||
|           label.text = years[i].toString() | ||||
|  | ||||
|           let index = -1 | ||||
|           for (let j = 1; j < cellCount + 1; j++) { | ||||
|             let obj_cell = obj_year.getChildAt(j) | ||||
|             if (!obj_cell) { | ||||
|               const prefab = go.create() | ||||
|               obj_cell = obj_year.addChild(prefab) | ||||
|             } | ||||
|             const hbox = obj_cell.getChildByName("HBox") | ||||
|             for (let k = 0; k < hbox.numChildren; k++) { | ||||
|               const unit = hbox.getChildAt(k).getComponent(TrophyUnit) | ||||
|               index++ | ||||
|               if (index < list.length) { | ||||
|                 unit.owner.visible = true | ||||
|                 unit.onInit(list[index]) | ||||
|               } else { | ||||
|                 unit.owner.visible = false | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|         this.obj_items.height = itemsHeight | ||||
|       }) | ||||
|     }) | ||||
|  | ||||
|     EventManager.getInstance().DispatchEvent(EVENT_TYPES.NOT_SET_TROPHY_BUTTON, false) | ||||
|   } | ||||
|  | ||||
|   onDestroy(): void { | ||||
|     EventManager.getInstance().DispatchEvent(EVENT_TYPES.NOT_SET_TROPHY_BUTTON, true) | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,37 +1,35 @@ | ||||
| import type { TrophyRecord } from "../../types/global" | ||||
| import { config } from "../../constants/config" | ||||
| import { MONTH_LIST } from "../../models/DCManager" | ||||
|  | ||||
| import { config } from "../../constants/config"; | ||||
| import { MONTH_LIST } from "../../models/DCManager"; | ||||
| import { TrophyRecord } from "../../types/global"; | ||||
|  | ||||
|  | ||||
| const { regClass, property } = Laya; | ||||
| const { regClass, property } = Laya | ||||
|  | ||||
| @regClass() | ||||
| export class TrophyShow extends Laya.Script { | ||||
|     declare owner : Laya.Box; | ||||
|   declare owner: Laya.Box | ||||
|  | ||||
|     @property(Laya.Image) | ||||
|     public icon: Laya.Image | ||||
|   @property(Laya.Image) | ||||
|   public icon: Laya.Image | ||||
|  | ||||
|     @property(Laya.Label) | ||||
|     public label_date: Laya.Label | ||||
|   @property(Laya.Label) | ||||
|   public label_date: Laya.Label | ||||
|  | ||||
|     @property(Laya.Box) | ||||
|     public btn_close: Laya.Box | ||||
|   @property(Laya.Box) | ||||
|   public btn_close: Laya.Box | ||||
|  | ||||
|     public onSetShow(record: TrophyRecord): void { | ||||
|         for (var i=0; i<MONTH_LIST.length; i++) { | ||||
|             var obj = MONTH_LIST[i] | ||||
|             if (obj.year == record.year && obj.month == record.month) { | ||||
|                 this.icon.skin = obj.icon_res | ||||
|                 break | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         this.label_date.text = `${config.MONTH_ABBRS[record.month-1]} ${record.day},${record.year}` | ||||
|  | ||||
|         this.btn_close.on(Laya.Event.CLICK, this, ()=>{ | ||||
|             this.owner.destroy() | ||||
|         }) | ||||
|   public onSetShow(record: TrophyRecord): void { | ||||
|     for (let i = 0; i < MONTH_LIST.length; i++) { | ||||
|       const obj = MONTH_LIST[i] | ||||
|       if (obj.year == record.year && obj.month == record.month) { | ||||
|         this.icon.skin = obj.icon_res | ||||
|         break | ||||
|       } | ||||
|     } | ||||
| } | ||||
|  | ||||
|     this.label_date.text = `${config.MONTH_ABBRS[record.month - 1]} ${record.day},${record.year}` | ||||
|  | ||||
|     this.btn_close.on(Laya.Event.CLICK, this, () => { | ||||
|       this.owner.destroy() | ||||
|     }) | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,45 +1,47 @@ | ||||
| import { config } from "../../constants/config"; | ||||
| import { respath } from "../../constants/respath"; | ||||
| import { StorageManager } from "../../models/StorageManager"; | ||||
| import { UIManager } from "../../models/UIManager"; | ||||
| import { config } from "../../constants/config" | ||||
| import { respath } from "../../constants/respath" | ||||
| import { StorageManager } from "../../models/StorageManager" | ||||
| import { UIManager } from "../../models/UIManager" | ||||
|  | ||||
| const { regClass, property } = Laya; | ||||
| const { regClass, property } = Laya | ||||
|  | ||||
| @regClass() | ||||
| export class TrophyUnit extends Laya.Script { | ||||
|     declare owner : Laya.Box; | ||||
|   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; | ||||
|   @property(Laya.Image) | ||||
|   public bg_light: Laya.Image | ||||
|  | ||||
|     public onInit(info: any): void { | ||||
|         var user = StorageManager.getInstance().getUser() | ||||
|         var 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" | ||||
|         } | ||||
|   @property(Laya.Image) | ||||
|   public icon: Laya.Image | ||||
|  | ||||
|         this.icon.on(Laya.Event.CLICK, this, ()=>{ | ||||
|             var find = user.get_trophyRecord(info.year, info.month) | ||||
|             if (find) { | ||||
|                 UIManager.getInstance().loadTrophyShowUI(find) | ||||
|             } | ||||
|         }) | ||||
|   @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) | ||||
|       } | ||||
|     }) | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user