Add support for behaviors in EventsFunctionExtractor

This commit is contained in:
Florian Rival
2019-03-31 23:25:31 +07:00
committed by Florian Rival
parent 0a8ba7b838
commit 42cbe3534f
25 changed files with 506 additions and 176 deletions

View File

@@ -12,6 +12,7 @@ namespace gd {
class Project;
class ObjectsContainer;
class ParameterMetadata;
class Expression;
} // namespace gd
namespace gd {
@@ -21,6 +22,26 @@ class GD_CORE_API ParameterMetadataTools {
gd::Project& project,
const std::vector<gd::ParameterMetadata>& parameters,
gd::ObjectsContainer& outputObjectsContainer);
/**
* Iterate over a list of parameters and their values.
* Callback function is called with the parameter metadata, its value
* and if applicable the name of the object it's linked to.
*/
static void IterateOverParameters(
const std::vector<gd::Expression>& parameters,
const std::vector<gd::ParameterMetadata>& parametersMetadata,
std::function<void(const gd::ParameterMetadata& parameterMetadata,
const gd::String& parameterValue,
const gd::String& lastObjectName)> fn);
/**
* Given a parameter, return, if applicable, the index of the object parameter
* it's linked to.
*/
static size_t GetObjectParameterIndexFor(
const std::vector<gd::ParameterMetadata>& parametersMetadata,
size_t parameterIndex);
};
} // namespace gd