diff options
Diffstat (limited to 'src/candy_gear.cpp')
-rw-r--r-- | src/candy_gear.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/candy_gear.cpp b/src/candy_gear.cpp index 7ed1d13..f9c5528 100644 --- a/src/candy_gear.cpp +++ b/src/candy_gear.cpp @@ -22,6 +22,7 @@ #include <yaml-cpp/yaml.h> +#include "core.hpp" #include "view_2d.hpp" #include "view_3d.hpp" @@ -60,6 +61,17 @@ parse_node(mrb_state *mrb, const YAML::Node &node) } static mrb_value +cg_mCandyGear_set_game_name(mrb_state *mrb, mrb_value self) +{ + mrb_value name; + + mrb_get_args(mrb, "S", &name); + cg_core.game_name = RSTRING_PTR(name); + + return self; +} + +static mrb_value cg_mCandyGear_load_yaml(mrb_state *mrb, mrb_value self) { const char *file_path; @@ -146,6 +158,27 @@ cg_mCandyGear_quit(mrb_state *mrb, mrb_value self) } void +cg_candy_gear_init_config(mrb_state *mrb) +{ + struct RClass *cg_m; + + cg_m = mrb_module_get(mrb, "CandyGear"); + + mrb_define_class_method( + mrb, cg_m, "game_name=", cg_mCandyGear_set_game_name, MRB_ARGS_REQ(1)); +} + +void +cg_candy_gear_finish_config(mrb_state *mrb) +{ + struct RClass *cg_m; + + cg_m = mrb_module_get(mrb, "CandyGear"); + + mrb_undef_class_method(mrb, cg_m, "game_name="); +} + +void cg_candy_gear_init(mrb_state *mrb) { struct RClass *cg_m; |