GithubHelp home page GithubHelp logo

Comments (11)

ManlyMarco avatar ManlyMarco commented on May 11, 2024

Hello! Yes I'd love to add support for more mod loaders, that's the reason why I structured RUE as it is.

from runtimeunityeditor.

mricher-git avatar mricher-git commented on May 11, 2024

Great to hear. Getting it up and running was pretty straight forward, the hold up at the moment is dealing with the settings in a manageable way.

BIE uses dynamic config through Config.Bind methodology, whereas UMM expects mods to derive from a ModSettings class, add all respective settings to that class, and then it takes care of serializing to/from Settings.xml. It also has something similiar to Configuration Manager baked in, and displays a config GUI based on field type.

Adhering to the RegisterSetting methodology is becoming a bit of a bear, effectively needs almost a standalone implementation of BepInEx's ConfigEntry(Base) class in lieu of ModSettings, manual serialization and converting UnityEngine.Rect to something XmlSerializer supports (like you did for Toml) and then a lightweight implementation of Config Mgr for dynamically drawing the UI based on field type. Anyway, almost there. I'll push it shortly to my fork and you can perhaps poke your head in there, give it a look over, see if there are glaring changes you would like to see.

from runtimeunityeditor.

ManlyMarco avatar ManlyMarco commented on May 11, 2024

You could maybe still make a custom ModSettings class but harmony patch it to override whatever code requires properties to instead use a list. I'd imagine it would make things a lot simpler.

There will definitely be more settings added in the future so it's not practical to specify all of them now.

from runtimeunityeditor.

mricher-git avatar mricher-git commented on May 11, 2024

Was a genius idea, 3 hours down the rabbit hole later, it was much easier just to reimplement. Here's a link to the function I was going to hook for laughs https://github.com/newman55/unity-mod-manager/blob/934022da3b002f629f0065a6a9a952071965e105/UnityModManager/UIDraw.cs#L632

Anyway, it's pretty much ready, going to look it over for refactoring, etc, but it's 100% functional. Just waiting for latest NuGet for UMM.dll to get pushed up as he made some changes for me.

https://github.com/mricher-git/RuntimeUnityEditor/tree/feat-umm-support

Do you have any UMM based games to test it out?
https://github.com/mricher-git/RuntimeUnityEditor/releases/tag/v4.2.0.0-alpha

from runtimeunityeditor.

ManlyMarco avatar ManlyMarco commented on May 11, 2024

I looked through the changes so far and they seem good to me. I'll be looking forward to the PR.

Do you have any UMM based games to test it out?

I don't actually, I tend to use BepInEx for everything. I'll try it out once you're finished with the PR.

from runtimeunityeditor.

mricher-git avatar mricher-git commented on May 11, 2024

Only thing left to do is the dependencies. BepInEx ships with Mono.Cecil and MonoMod.Utils/RuntimeDetour, UMM does not. Could either add these as dependencies to RuntimeUnityEditor.UMM with copy local and they'll get picked up by release.ps1, or keep them as dependencies only on core, enable copy local within core, and modify release.ps1 so RUE.BepInEx doesn't pull them in.

I also see install.ps1 turns copy local off for everything, so both of the above options would require a further change here too. Thoughts?

from runtimeunityeditor.

ManlyMarco avatar ManlyMarco commented on May 11, 2024

Add it to RuntimeUnityEditor.UMM. The version doesn't have to be exact so you could use a package from a different source that doesn't have the copylocal script. Maybe some other UMM plugins already use it, in which case it would be best to use that version.

from runtimeunityeditor.

mricher-git avatar mricher-git commented on May 11, 2024

Not sure if there is notification on comments after pull, so just in case you missed this:
#40 (comment)

from runtimeunityeditor.

ManlyMarco avatar ManlyMarco commented on May 11, 2024

@mricher-git Released.

from runtimeunityeditor.

mricher-git avatar mricher-git commented on May 11, 2024

@ManlyMarco have you seen #40 (comment) ? I can make a PR for it if you want to go ahead.

from runtimeunityeditor.

ManlyMarco avatar ManlyMarco commented on May 11, 2024

@mricher-git Sorry, I didn't see it. Can you make a PR? You can place the file inside https://github.com/ManlyMarco/RuntimeUnityEditor/tree/master/RuntimeUnityEditor.UMM
Is there any way to make this file auto update on release? There's no way I'll remember to do it. Maybe a GitHub action?

from runtimeunityeditor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.