23class BehaviorFieldVisitor {
25 BehaviorFieldVisitor() =
default;
26 virtual ~BehaviorFieldVisitor() =
default;
28 BehaviorFieldVisitor(
const BehaviorFieldVisitor& other) =
delete;
29 BehaviorFieldVisitor& operator=(
const BehaviorFieldVisitor& other) =
delete;
31 BehaviorFieldVisitor(BehaviorFieldVisitor && other) =
delete;
32 BehaviorFieldVisitor& operator=(BehaviorFieldVisitor && other) =
delete;
35 virtual void field(
const char* name,
float& value) = 0;
36 virtual void field(
const char* name,
int& value) = 0;
37 virtual void field(
const char* name,
bool& value) = 0;
38 virtual void field(
const char* name, glm::vec2& value) = 0;
39 virtual void field(
const char* name, glm::vec3& value) = 0;
40 virtual void field(
const char* name, glm::vec4& value) = 0;
41 virtual void field(
const char* name, glm::quat& value) = 0;
42 virtual void field(
const char* name, std::string& value) = 0;
55 virtual void enumField(
const char* name,
int& index,
const char*
const* names, std::size_t count) = 0;
68 virtual void assetField(
const char* name, std::string& assetName, AssetType type) = 0;
virtual void assetField(const char *name, std::string &assetName, AssetType type)=0
Visit a field that names an asset, type-erased to (name, kind).
virtual void enumField(const char *name, int &index, const char *const *names, std::size_t count)=0
Visit an enum field, type-erased to (name index, name table).