public void MessageBox(string text, double idxMediaObj, string btn1Label, string btn2Label, LuaFunction provider) { string ntext = text == null ? "" : (string)text; int nidxMediaObj = Convert.ToInt32(idxMediaObj); string nbtn1Label = btn1Label == null ? "" : (string)btn1Label; string nbtn2Label = btn2Label == null ? "" : (string)btn2Label; IDataProvider nprovider = _dataFactory.GetProvider((LuaFunction)provider, protectFromGC: true); _engine.HandleShowMessage( ntext, _dataFactory.GetWherigoObject <Media>(nidxMediaObj), nbtn1Label, nbtn2Label, nprovider ); }