From 4a23b9689f6d22597ece6fb8a530a07655f49a6a Mon Sep 17 00:00:00 2001 From: Frederico Linhares Date: Thu, 9 Nov 2023 14:01:22 -0300 Subject: feat Allow model's texture to be changed --- src/static_model.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src') diff --git a/src/static_model.cpp b/src/static_model.cpp index 25a08c7..5873792 100644 --- a/src/static_model.cpp +++ b/src/static_model.cpp @@ -84,6 +84,18 @@ cg_cStaticModel_set_position(mrb_state *mrb, mrb_value self) return self; } +static mrb_value +cg_cStaticModel_set_texture(mrb_state *mrb, mrb_value self) +{ + auto ptr = (std::shared_ptr*)DATA_PTR(self); + std::shared_ptr *texture; + + mrb_get_args(mrb, "d", &texture, &cg_texture_type); + (*ptr)->texture = *texture; + + return self; +} + static mrb_value cg_cStaticModel_draw(mrb_state *mrb, mrb_value self) { @@ -114,6 +126,9 @@ cg_static_model_init(mrb_state *mrb) mrb_define_method( mrb, cg_cStaticModel, "rotation=", cg_cStaticModel_set_rotation, MRB_ARGS_REQ(1)); + mrb_define_method( + mrb, cg_cStaticModel, "texture=", cg_cStaticModel_set_texture, + MRB_ARGS_REQ(1)); mrb_define_method( mrb, cg_cStaticModel, "draw", cg_cStaticModel_draw, MRB_ARGS_NONE()); } -- cgit v1.2.3