0403 (연구 필요) 동적으로 메서드 부르기
(연구 필요) 동적으로 메서드 부르기
밑에거 외에도
Variant는 물론이고 (이거 구현은 via인터프리터 참고)
class Function:
std::vector<VariantType> args_format;
bool returns_value;
VariantType return_format;
...
class Test {
public:
void Wrapped_set_position(const std::vector<Variant>& args) {
auto v = args[0].as<Vector2>();
this->set_position(v);
switch (args[0].type) {
case VariantType::Vector2: {
std::cout << "position changed : " << v << "\n";
}
}
}
public:
void call(const std::string& name, const std::vector<Variant>& args) {
auto fn = m_fn_table[name];
fn(args);
}
};
애초에 이렇게 하는 게 국룰이고
고도도 이런 식으로 되어있음