difenduandada
2024-12-31 34abe6963b344c882358274957f4b992456fee40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*-----------------------------------------------------+
 * 任务的真实数据
 * @author zys
 +-----------------------------------------------------*/
var TaskConst = require("task_const");
var TaskEvent = require("task_event");
 
var TaskVo = cc.Class({
    extends: gcore.BaseEvent,
    ctor: function () {
        this.id = arguments[0];
        this.type = arguments[1] || TaskConst.type.quest;
        if (this.type == TaskConst.type.quest) {
            this.config = gdata("quest_data", "data_get", [this.id]);
        } else if (this.type == TaskConst.type.feat) {
            this.config = gdata("feat_data", "data_get", [this.id]);
        } else if (this.type == TaskConst.type.action) {
 
        }
        this.finish = TaskConst.task_status.un_finish;
        this.finish_sort = 0;
    },
 
    _delete: function () {
 
    },
 
    //根据任务完成状态获取任务的描述
    getTaskContent: function () {
        return this.config.desc;
        // return splitDataStr(this.config.desc);
    },
 
    //获取任务的名
    getTaskName: function () {
        if (this.config)
            return this.config.name || ""
        else
            return ""
    },
 
    //设置这个任务是否处于完成提交状态
    setCompletedStatus: function (status) {
        this.finish = status;
        this.setFinishSort();
        this.dispatchUpdate();
    },
 
    //更新任务数据
    updateData: function (data) {
        this.finish = data.finish;
        this.progress = data.progress;
        this.setFinishSort();
        this.dispatchUpdate();
    },
 
    dispatchUpdate: function () {
        this.fire(TaskEvent.UpdateSingleQuest, this.id);
    },
 
    setFinishSort: function () {
        if (this.finish == TaskConst.task_status.un_finish) {
            this.finish_sort = 1;
        } else if (this.finish == TaskConst.task_status.finish) {
            this.finish_sort = 0;
        } else if (this.finish == TaskConst.task_status.completed) {
            this.finish_sort = 2;
        } else {
            this.finish_sort = 3;
        }
    }
});
 
module.exports = TaskVo;