Ejemplo n.º 1
0
/**
任务承接条件判断
task_id: 任务编号
false:失败 true:成功
*/
func (tb *TaskBaseRule) OnTestTaskAccept(player *entity.Player, task *Task) bool {
	//是否已经接了
	if player.TaskAccepted_r.FindID(task.ID) != -1 {
		return false
	}

	//前置任务是否已经完成
	if task.PreTaskId != "" && task.PreTaskId != "0" {
		row := player.TaskAccepted_r.FindID(task.PreTaskId)
		if row == -1 {
			return false
		}

		if flag, _ := player.TaskAccepted_r.GetFlag(row); flag != TASK_FLAG_COMPLETE {
			return false
		}
	}

	//等级是否满足条件
	if task.Level > int32(player.GetLevel()) {
		return false
	}

	return true
}