Defold Wrap Library

I guess someone might like this library. I write it to avoid the feeling of asking gui to do a lot. Now just act like a node can do everything by itself :grinning_face_with_smiling_eyes:

Instead of

local node = gui.get_node("my_node")
gui.set_alpha(node, 0.5)
gui.animate(node, "color.w", 1, gui.EASING_LINEAR, 2)
gui.set_enabled(node, true)

Write this

local node = wrap.node("my_node")
node:set_alpha(0.5):animate("color.w", 1, gui.EASING_LINEAR, 2):set_enabled(true)

You can also get a list of wrapped nodes

local w = wrap.node({ "my_node", title = "text_title", button = gui.get_node("button") })
w.my_node:set_alpha(0.5)
w.title:set_text("Admin")
w.button:set_size(vmath.vector3(100, 50, 0))

Currently, it has all methods working for GUI nodes, besides, it supports some convenient methods you may need it sometimes, like

add_position(...),
get_position_x()
get_position_y()
get_position_z()
set_position_x(...)
set_position_y(...)
set_position_z(...)
add_position_x(...)
add_position_y(...)
add_position_z(...)
...

Check it out: baochungit/defold-wrap (github.com)

15 Likes

That is pretty neat! Thanks for sharing!

3 Likes

Aa! Amazing! I make similar wrappers almost all the time for many things, because OOP :sweat_smile: it is especially useful for nodes that are many times not dynamic objects. You made it look nice and convenient :heart:

4 Likes

Thanks for sharing this.

1 Like