跳到主要内容

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);
}