//Retrieve your button as generic Object
nero::Object::Ptr object = getObjectManager()->findScreenUIObject("screen_name", "button_name");
//Convert back to Button Object
nero::ButtonObject::Ptr my_button = nero::ButtonObject::Cast(object);
//Set up your callbacks using lambda functions
my_button->setOnMouseEnter([this]()
{
//do something, play sound, etc.
})
my_button->setOnMouseLeave([this]()
{
//do something, play sound, etc.
})
my_button->setOnMouseClick([this]()
{
//do something, play sound, etc.
})