2023-07-21 09:50:06 +00:00
|
|
|
/**
|
|
|
|
* behavior_tree_data.h
|
|
|
|
* =============================================================================
|
|
|
|
* Copyright 2021-2023 Serhii Snitsaruk
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by an MIT-style
|
|
|
|
* license that can be found in the LICENSE file or at
|
|
|
|
* https://opensource.org/licenses/MIT.
|
|
|
|
* =============================================================================
|
|
|
|
*/
|
2023-04-13 07:29:45 +00:00
|
|
|
|
|
|
|
#ifndef BEHAVIOR_TREE_DATA_H
|
|
|
|
#define BEHAVIOR_TREE_DATA_H
|
|
|
|
|
2023-08-15 15:49:13 +00:00
|
|
|
#include "modules/limboai/bt/tasks/bt_task.h"
|
2023-07-20 16:35:36 +00:00
|
|
|
|
2023-04-13 07:29:45 +00:00
|
|
|
class BehaviorTreeData {
|
|
|
|
public:
|
|
|
|
struct TaskData {
|
2023-04-14 08:16:26 +00:00
|
|
|
int id = 0;
|
2023-04-13 07:29:45 +00:00
|
|
|
String name;
|
2023-08-29 08:45:00 +00:00
|
|
|
bool is_custom_name = false;
|
2023-04-13 07:29:45 +00:00
|
|
|
int num_children = 0;
|
|
|
|
int status = 0;
|
2023-04-14 08:16:26 +00:00
|
|
|
double elapsed_time = 0.0;
|
2023-04-13 07:29:45 +00:00
|
|
|
String type_name;
|
2023-04-16 06:26:47 +00:00
|
|
|
String script_path;
|
2023-04-13 07:29:45 +00:00
|
|
|
|
2023-08-29 08:45:00 +00:00
|
|
|
TaskData(int p_id, const String &p_name, bool p_is_custom_name, int p_num_children, int p_status, double p_elapsed_time, const String &p_type_name, const String &p_script_path) {
|
2023-04-14 08:16:26 +00:00
|
|
|
id = p_id;
|
2023-04-13 07:29:45 +00:00
|
|
|
name = p_name;
|
2023-08-29 08:45:00 +00:00
|
|
|
is_custom_name = p_is_custom_name;
|
2023-04-13 07:29:45 +00:00
|
|
|
num_children = p_num_children;
|
|
|
|
status = p_status;
|
2023-04-14 08:16:26 +00:00
|
|
|
elapsed_time = p_elapsed_time;
|
2023-04-13 07:29:45 +00:00
|
|
|
type_name = p_type_name;
|
2023-04-16 06:26:47 +00:00
|
|
|
script_path = p_script_path;
|
2023-04-13 07:29:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
TaskData() {}
|
|
|
|
};
|
|
|
|
|
|
|
|
List<TaskData> tasks;
|
2023-04-15 07:01:37 +00:00
|
|
|
NodePath bt_player_path;
|
2023-04-13 07:29:45 +00:00
|
|
|
|
|
|
|
void serialize(Array &p_arr);
|
|
|
|
void deserialize(const Array &p_arr);
|
|
|
|
|
2023-04-15 07:01:37 +00:00
|
|
|
BehaviorTreeData(const Ref<BTTask> &p_instance, const NodePath &p_player_path);
|
2023-04-13 07:29:45 +00:00
|
|
|
BehaviorTreeData() {}
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // BEHAVIOR_TREE_DATA
|