game_client.task
简介
组件接口
FTask.gs
任务功能组件
函数原型 | 函数作用 |
---|---|
map query_task_info(mixed task_id) | 获取指定任务的完整信息(包括状态和数据) |
bool has_task(mixed task_id) | 判断是否有这个任务数据 |
bool check_task_state(mixed task_id, int state) | 判断任务是否处于指定状态 |
bool is_task_finished(mixed task_id) | 判断任务是否已完成 |
map get_task_data(mixed task_id) | 获取任务的数据部分(data) |
mixed get_task_data_field(mixed task_id, mixed field) | 获取任务的数据部分指定字段值(data[field]) |
void iterate_task(function fn) | 遍历所有任务 |
array query_tasks_by_task_target(string task_target) | 根据任务目标类型获取已领取的任务列表 |
array query_tasks_by_task_type(string task_type, mixed task_sub_type = nil) | 根据任务类型获取已领取的任务列表 |
bool is_task_completed(mixed task_id) | 判断任务是否已经完成并提交 |
void update_task_log(mixed task_id, map task_log) | 更新任务日志 |
mixed query_task_log(mixed task_id) | 查询任务日志 |
task.gs
基于client engine的任务功能模块,和服务器的pkg.game_server.task对应
几点说明:
1.模块通过setup方法初始化;初始化参数可以通过指定cmd_path和wildcard_path提供消息处理对象和通配符处理对象
2.任务数据和任务日志存放在角色对象身上,具体请看FTask;任务日志更新的默认事件是OnUpdateTaskLog;
3.默认的任务日志更新消息处理对象是msg_task_log.gs;
函数原型 | 函数作用 |
---|---|
bool setup(map para = ) | 模块初始化 |
map get_task(mixed task_id) | 获取指定任务的配置 |
void iterate_all_task(function func) | 遍历所有任务配置 |
string get_task_desc(mixed task_id, map parse_para = ) | 获取指定任务的任务描述-主要用于未领取任务时的任务预览 |
样例
import pkg.game_client.task;
import engine.engine_import;
public void pkg_sample()
{
// 初始化
if (! task.setup())
return;
event_system.register_by_ob("OnUpdateTaskLog", this, (: on_update_task_log :));
}
void on_update_task_log(mixed task_id, map prev_task_log)
{
printf("--OnUpdateTaskLog: %M %M\n", task_id, prev_task_log);
}