public void WriteScriptHive(ScriptHive hive) { try { IronRuby.Builtins.RubyArray ra = new IronRuby.Builtins.RubyArray(); foreach (Script s in hive.Scripts) { IronRuby.Builtins.RubyArray ra_entry = new IronRuby.Builtins.RubyArray(); ra_entry.Add(s.MagicNumber); ra_entry.Add(s.Name); var ms = new IronRuby.Builtins.MutableString(); ms = ms.ChangeEncoding(IronRuby.Builtins.RubyEncoding.Binary, true); ms.Append(GameData.DataHelper.Deflate(s.Contents)); ra_entry.Add(ms); ra.Add(ra_entry); } rbhelper.save_scripts(ra); } catch (Exception e) { System.Windows.Forms.MessageBox.Show(e.Message); } }
//language interops public static IronRuby.Builtins.MutableString RString(byte[] item) { IronRuby.Builtins.MutableString s = new IronRuby.Builtins.MutableString(); s.Append(item); return(s); }