Asfand Yar Qazi
2009-Dec-22 11:24 UTC
[Ironruby-core] Compiling Ruby classes to assemblies for use with Unity3D (which uses Mono 1.2.4)
Hi, I want to be able to use Ruby code in the Unity3D game engine, which embeds GNU Mono 1.2.4 to provide support for various languages (a ECMAScript-based language, Boo, and C# - they don''t upgrade the ancient Mono version to keep compatibility with games designed for older versions of Unity3D). Forgive my use of terminology, I''m new to this .NET/Mono malarky :) I was told that I can product .NET 2 assemblies, plug them into Unity3D, and the classes will be accessible from the other languages. Will I be able to use IronRuby to create .NET 2 assemblies in this manner? Sorry for asking here, but the Unity3D people don''t seem interested in Ruby as much, and I just can''t live without coding in BDD style in a robust environment. Thanks. Regards, Asfand
Ivan Porto Carrero
2009-Dec-22 12:26 UTC
[Ironruby-core] Compiling Ruby classes to assemblies for use with Unity3D (which uses Mono 1.2.4)
You can''t compile to an assembly with IronRuby at this point. But you can reference the ironruby interpreter library and host the ruby engine in your application to have it execute ruby files. http://ironruby.net/Documentation/.NET/Hosting But I don''t think that will completely solve your issue though because to interop with CLR classes their definitions must exist in the CLR so you would probably have to build some bridges. the most straightforward way to do that is by defining CLR interfaces and adding them to IronRuby classes. public interface IRobot{ DeathAndDestructionMode ForgetAboutThe3Laws(); } in Ruby: require ''/path/to/interfaces/assembly'' class EvilBot include IRobot def forget_about_the_3_laws DeathAndDestructionMode.world_domination end end a consuming C# class could then get an object you created with your hosting code and still talk to it because of the CLR interface. If you''re after testing then you can use ruby tools like bacon/rspec to test your C# code. The only thing that will be weird if you''re going to use it this way is that ruby mockers have no clue what to do with CLR objects. I created a project that: a) accepts patches and contributions b) gives you mocking that knows about the CLR http://github.com/casualjim/caricature --- Met vriendelijke groeten - Best regards - Salutations Ivan Porto Carrero Blog: http://flanders.co.nz Google Wave: portocarrero.ivan at googlewave.com Twitter: http://twitter.com/casualjim Author of IronRuby in Action (http://manning.com/carrero) On Tue, Dec 22, 2009 at 12:24 PM, Asfand Yar Qazi <ayqazi at gmail.com> wrote:> Hi, > > I want to be able to use Ruby code in the Unity3D game engine, which > embeds GNU Mono 1.2.4 to provide support for various languages (a > ECMAScript-based language, Boo, and C# - they don''t upgrade the > ancient Mono version to keep compatibility with games designed for > older versions of Unity3D). > > Forgive my use of terminology, I''m new to this .NET/Mono malarky :) > > I was told that I can product .NET 2 assemblies, plug them into > Unity3D, and the classes will be accessible from the other languages. > > Will I be able to use IronRuby to create .NET 2 assemblies in this manner? > > Sorry for asking here, but the Unity3D people don''t seem interested in > Ruby as much, and I just can''t live without coding in BDD style in a > robust environment. > > Thanks. Regards, > Asfand > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20091222/e94b50d1/attachment.html>
Jb Evain
2009-Dec-22 12:34 UTC
[Ironruby-core] Compiling Ruby classes to assemblies for use with Unity3D (which uses Mono 1.2.4)
Hey, On 12/22/09, Asfand Yar Qazi <ayqazi at gmail.com> wrote:> I want to be able to use Ruby code in the Unity3D game engine, which > embeds GNU Mono 1.2.4 to provide support for various languages (a > ECMAScript-based language, Boo, and C# - they don''t upgrade the > ancient Mono version to keep compatibility with games designed for > older versions of Unity3D).Mono 1.2.4 is most probably too old to support IronRuby and the DLR. -- Jb Evain <jb at nurv.fr>
Asfand Yar Qazi
2009-Dec-22 13:31 UTC
[Ironruby-core] Compiling Ruby classes to assemblies for use with Unity3D (which uses Mono 1.2.4)
2009/12/22 Jb Evain <jb at nurv.fr>:> Hey, > > On 12/22/09, Asfand Yar Qazi <ayqazi at gmail.com> wrote: >> ?I want to be able to use Ruby code in the Unity3D game engine, which >> ?embeds GNU Mono 1.2.4 to provide support for various languages (a >> ?ECMAScript-based language, Boo, and C# - they don''t upgrade the >> ?ancient Mono version to keep compatibility with games designed for >> ?older versions of Unity3D). > > Mono 1.2.4 is most probably too old to support IronRuby and the DLR.Thanks for that, I can now stop chasing a pointless dream :)
Asfand yar Qazi
2011-Mar-21 21:40 UTC
[Ironruby-core] Compiling Ruby classes to assemblies for use with Unity3D (which uses Mono 1.2.4)
Asfand yar Qazi wrote in post #875250:> 2009/12/22 Jb Evain <jb at nurv.fr>: >> Hey, >> >> On 12/22/09, Asfand Yar Qazi <ayqazi at gmail.com> wrote: >>> ?I want to be able to use Ruby code in the Unity3D game engine, which >>> ?embeds GNU Mono 1.2.4 to provide support for various languages (a >>> ?ECMAScript-based language, Boo, and C# - they don''t upgrade the >>> ?ancient Mono version to keep compatibility with games designed for >>> ?older versions of Unity3D). >> >> Mono 1.2.4 is most probably too old to support IronRuby and the DLR. > > Thanks for that, I can now stop chasing a pointless dream :)Well, a long time has passed since I asked the previous question. Unity3D now uses GNU Mono 2.6, and I hope IronRuby has made progress too. Is it now possible to compile Ruby files into assemblies to use with Unity3D''s Mono 2.6? Thank you for your help. Regards, Asfand -- Posted via http://www.ruby-forum.com/.
Tomas Matousek
2011-Mar-21 23:36 UTC
[Ironruby-core] Compiling Ruby classes to assemblies for use with Unity3D (which uses Mono 1.2.4)
We are already targeting Mono 2.10. You can try building with msbuild on Windows using /p:Configuration=v2Debug and using the resulting binaries on Mono 2.6. Mono fixed a bunch of bugs since 2.6 though so it might not quite work. Tomas -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Asfand yar Qazi Sent: Monday, March 21, 2011 2:41 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Compiling Ruby classes to assemblies for use with Unity3D (which uses Mono 1.2.4) Asfand yar Qazi wrote in post #875250:> 2009/12/22 Jb Evain <jb at nurv.fr>: >> Hey, >> >> On 12/22/09, Asfand Yar Qazi <ayqazi at gmail.com> wrote: >>> ?I want to be able to use Ruby code in the Unity3D game engine, >>> which >>> ?embeds GNU Mono 1.2.4 to provide support for various languages (a >>> ?ECMAScript-based language, Boo, and C# - they don''t upgrade the >>> ?ancient Mono version to keep compatibility with games designed for >>> ?older versions of Unity3D). >> >> Mono 1.2.4 is most probably too old to support IronRuby and the DLR. > > Thanks for that, I can now stop chasing a pointless dream :)Well, a long time has passed since I asked the previous question. Unity3D now uses GNU Mono 2.6, and I hope IronRuby has made progress too. Is it now possible to compile Ruby files into assemblies to use with Unity3D''s Mono 2.6? Thank you for your help. Regards, Asfand -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core