1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- import { task } from "../Config/ConfigConst";
- import { App } from "../../Manager/App";
- import { ETaskID } from "../Const/EnumDefine";
- /** 日常任务 */
- export class DailyTask {
- public taskType = 1;
- public finishTaskType = 2;
- private _tasks: task[];
- public get tasks(): task[] {
- return this._tasks;
- }
- public set tasks(value: task[]) {
- this._tasks = value;
- this.updateLocalStorate();
- }
- public constructor() {
- this.initData();
- }
- public initData() {
- let dailyTask = App.LocalStorageUtil.getJsonObj(App.LocalStorageUtil.lst_dailytask) as DailyTask;
- if (dailyTask)
- this.tasks = dailyTask._tasks;
- else
- this.tasks = App.ConfigMgr.getTaskList();
- }
- private updateLocalStorate() {
- App.LocalStorageUtil.setJsonObj(App.LocalStorageUtil.lst_dailytask, this);
- console.log("设置日常任务数据:", this);
- }
- /** 获取任务在任务数组中的索引 */
- private getTask(taskID: ETaskID): number {
- let result = -1;
- this.tasks.forEach((value, index) => {
- if (value.id == taskID) result = index;
- });
- return result;
- }
- /** 完成一次 */
- public doOneTimes(taskID: ETaskID) {
- let taskIndex = this.getTask(taskID);
- this.tasks[taskIndex].overNum += 1;
- this.isFinishTask(this.tasks[taskIndex]);
- this.updateLocalStorate();
- }
- /** 是否完成某个任务 */
- private isFinishTask(task: task): boolean {
- let result = false;
- if (task.overNum >= task.maxNum) {
- task.overNum = task.maxNum;
- result = true;
- }
- return result;
- }
- /** 是否完成所有任务 */
- private isFinishAllTask(): boolean {
- let result = true;
- this.tasks.forEach((value) => {
- if (value.overNum < value.maxNum) result = false;
- })
- return result;
- }
- }
|