Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-platform Support #17

Closed
fmoo opened this issue Sep 8, 2015 · 5 comments
Closed

Multi-platform Support #17

fmoo opened this issue Sep 8, 2015 · 5 comments

Comments

@fmoo
Copy link

fmoo commented Sep 8, 2015

With the Unity editor running on OSX (and now Linux), and tiled as well, it would be totally awesome to be able to run this under mono to support other platforms as well.

There are sort of two approaches I can think of to doing this:

  1. Rewrite the UI using Xamarin.forms
  2. Provide a command-line only binary that doesn't depend on windows specific .net APIs (e.g., WPF/PresentationCore)
@aggsol
Copy link

aggsol commented Sep 8, 2015

Or using GTK# for the GUI would also do the trick. A standalone CLI would be helpful. Or integrate everything into the asset processor and manage everything (including GUI) in Unity itself.

@Gnumaru
Copy link

Gnumaru commented Sep 8, 2015

The mono runtime does support Windows Forms (if not in entirety, at least partially), wich is used by Tiled2Unity (even though the visuals are not nice). What prevents Tiled2Unity to compile and run flawlesly under mono are other things.

I have forked Seanba's master branch some months ago and made some minor modifications to allow the code to compile and run under mono. Three days ago I merged Seanba's master branch with my fork to keep mine up to date. You can see my fork here:

https://github.com/Gnumaru/Tiled2Unity

@fmoo
Copy link
Author

fmoo commented Sep 9, 2015

EDIT: at a minimum, I'm missing libmono-uia-cil-dev.. grepping around for others.

@Gnumaru - this is awesome! But I'm getting some errors when I run xbuild:

Warnings:

.../Tiled2Unity/tool/Tiled2Unity/Tiled2Unity.sln (default targets) ->
(Build target) ->
.../Tiled2Unity/tool/Tiled2Unity/src/Tiled2Unity.csproj (default targets) ->
/usr/lib/mono/4.5/Microsoft.Common.targets (ResolveAssemblyReferences target) ->

    /usr/lib/mono/4.5/Microsoft.Common.targets:  warning : Reference 'UIAutomationProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' not resolved
    /usr/lib/mono/4.5/Microsoft.Common.targets:  warning : Reference 'UIAutomationTypes, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' not resolved
    /usr/lib/mono/4.5/Microsoft.Common.targets:  warning : Reference 'System.Windows.Input.Manipulations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' not resolved

Errors:

.../Tiled2Unity/tool/Tiled2Unity/Tiled2Unity.sln (default targets) ->
(Build target) ->
.../Tiled2Unity/tool/Tiled2Unity/src/Tiled2Unity.csproj (default targets) ->
/usr/lib/mono/4.5/Microsoft.CSharp.targets (CoreCompile target) ->

    Tiled2UnityAbout.Designer.cs(36,54): error CS0234: The type or namespace name `RichText50W' does not exist in the namespace `Tiled2Unity'. Are you missing an assembly reference?

     3 Warning(s)
     1 Error(s)

Time Elapsed 00:00:00.8949470

@Gnumaru
Copy link

Gnumaru commented Sep 9, 2015

Sorry. Seems like I forgot to push a commit. Before, I was conditionally loading a 'RichText50W' if the code was running on MS Dotnet or loading a Windows.Forms.RichTextBox if it was running on mono

        if (System.Type.GetType ("Mono.Runtime") == null) {
            this.richTextBoxAbout = new Tiled2Unity.RichText50W();
        }else{
            this.richTextBoxAbout = new System.Windows.Forms.RichTextBox();
        }

https://github.com/Gnumaru/Tiled2Unity/blob/318c55c148ef8926cf84818aa6f20ce656fd2d54/tool/Tiled2Unity/src/Tiled2UnityAbout.Designer.cs

But i think it is better to just drop out the RichText50W, since it's just used in the about dialog.

@Seanba
Copy link
Owner

Seanba commented Jun 21, 2016

As of version 1.0.7.0 there is a separate Tiled2UnityMac application available (built on top of Xamarin.Mac)

@Seanba Seanba closed this as completed Jun 21, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants