├── lib
├── dnlib.dll
├── 0Harmony.dll
├── winhttp.dll
├── 0Harmony12.dll
├── Ionic.Zip.dll
├── IrisSkin4.dll
├── Skins
│ ├── MSN.ssk
│ ├── Page.ssk
│ ├── Warm.ssk
│ ├── Wave.ssk
│ ├── mp10.ssk
│ ├── Emerald.ssk
│ ├── MacOS.ssk
│ ├── OneBlue.ssk
│ ├── OneCyan.ssk
│ ├── RealOne.ssk
│ ├── Silver.ssk
│ ├── XPBlue.ssk
│ ├── XPGreen.ssk
│ ├── vista1.ssk
│ ├── Calmness.ssk
│ ├── DeepCyan.ssk
│ ├── DeepGreen.ssk
│ ├── Eighteen.ssk
│ ├── Longhorn.ssk
│ ├── Midsummer.ssk
│ ├── OneGreen.ssk
│ ├── OneOrange.ssk
│ ├── SteelBlue.ssk
│ ├── XPOrange.ssk
│ ├── XPSilver.ssk
│ ├── mp10green.ssk
│ ├── mp10pink.ssk
│ ├── DeepOrange.ssk
│ ├── DiamondBlue.ssk
│ ├── DiamondGreen.ssk
│ ├── DiamondOlive.ssk
│ ├── DiamondRed.ssk
│ ├── GlassBrown.ssk
│ ├── GlassGreen.ssk
│ ├── GlassOrange.ssk
│ ├── PageColor1.ssk
│ ├── PageColor2.ssk
│ ├── SilverColor1.ssk
│ ├── SilverColor2.ssk
│ ├── SportsBlack.ssk
│ ├── SportsBlue.ssk
│ ├── SportsCyan.ssk
│ ├── SportsGreen.ssk
│ ├── SportsOrange.ssk
│ ├── SteelBlack.ssk
│ ├── WarmColor1.ssk
│ ├── WarmColor2.ssk
│ ├── WarmColor3.ssk
│ ├── WaveColor1.ssk
│ ├── WaveColor2.ssk
│ ├── mp10maroon.ssk
│ ├── mp10mulberry.ssk
│ ├── mp10purple.ssk
│ ├── office2007.ssk
│ ├── vista1_green.ssk
│ ├── CalmnessColor1.ssk
│ ├── CalmnessColor2.ssk
│ ├── DiamondPurple.ssk
│ ├── EighteenColor1.ssk
│ ├── EighteenColor2.ssk
│ ├── EmeraldColor1.ssk
│ ├── EmeraldColor2.ssk
│ ├── EmeraldColor3.ssk
│ ├── Vista2_color1.ssk
│ ├── Vista2_color2.ssk
│ ├── Vista2_color3.ssk
│ ├── Vista2_color4.ssk
│ ├── Vista2_color5.ssk
│ ├── Vista2_color6.ssk
│ ├── Vista2_color7.ssk
│ ├── MidsummerColor1.ssk
│ ├── MidsummerColor2.ssk
│ └── MidsummerColor3.ssk
├── System.Xml.dll
├── background.jpg
├── 0Harmony-1.2.dll
├── Newtonsoft.Json.dll
├── Unity2018
│ ├── UnityEngine.dll
│ ├── UnityEngine.UI.dll
│ ├── UnityEngine.AIModule.dll
│ ├── UnityEngine.ARModule.dll
│ ├── UnityEngine.UIModule.dll
│ ├── UnityEngine.VRModule.dll
│ ├── UnityEngine.XRModule.dll
│ ├── UnityEngine.AudioModule.dll
│ ├── UnityEngine.ClothModule.dll
│ ├── UnityEngine.CoreModule.dll
│ ├── UnityEngine.GridModule.dll
│ ├── UnityEngine.IMGUIModule.dll
│ ├── UnityEngine.InputModule.dll
│ ├── UnityEngine.TLSModule.dll
│ ├── UnityEngine.UNETModule.dll
│ ├── UnityEngine.UmbraModule.dll
│ ├── UnityEngine.VFXModule.dll
│ ├── UnityEngine.VideoModule.dll
│ ├── UnityEngine.WindModule.dll
│ ├── UnityEngine.BaselibModule.dll
│ ├── UnityEngine.PhysicsModule.dll
│ ├── UnityEngine.TerrainModule.dll
│ ├── UnityEngine.TilemapModule.dll
│ ├── UnityEngine.AnimationModule.dll
│ ├── UnityEngine.DirectorModule.dll
│ ├── UnityEngine.GameCenterModule.dll
│ ├── UnityEngine.HotReloadModule.dll
│ ├── UnityEngine.Physics2DModule.dll
│ ├── UnityEngine.ProfilerModule.dll
│ ├── UnityEngine.SpriteMaskModule.dll
│ ├── UnityEngine.StreamingModule.dll
│ ├── UnityEngine.SubstanceModule.dll
│ ├── UnityEngine.TextCoreModule.dll
│ ├── UnityEngine.TimelineModule.dll
│ ├── UnityEngine.UIElementsModule.dll
│ ├── UnityEngine.VehiclesModule.dll
│ ├── UnityEngine.AssetBundleModule.dll
│ ├── UnityEngine.ClusterInputModule.dll
│ ├── UnityEngine.LocalizationModule.dll
│ ├── UnityEngine.SpriteShapeModule.dll
│ ├── UnityEngine.StyleSheetsModule.dll
│ ├── UnityEngine.UnityConnectModule.dll
│ ├── UnityEngine.AccessibilityModule.dll
│ ├── UnityEngine.ClusterRendererModule.dll
│ ├── UnityEngine.CrashReportingModule.dll
│ ├── UnityEngine.FileSystemHttpModule.dll
│ ├── UnityEngine.ImageConversionModule.dll
│ ├── UnityEngine.JSONSerializeModule.dll
│ ├── UnityEngine.ParticleSystemModule.dll
│ ├── UnityEngine.ScreenCaptureModule.dll
│ ├── UnityEngine.SharedInternalsModule.dll
│ ├── UnityEngine.SpatialTrackingModule.dll
│ ├── UnityEngine.TerrainPhysicsModule.dll
│ ├── UnityEngine.TextRenderingModule.dll
│ ├── UnityEngine.UnityAnalyticsModule.dll
│ ├── UnityEngine.UnityWebRequestModule.dll
│ ├── UnityEngine.UnityTestProtocolModule.dll
│ ├── UnityEngine.PerformanceReportingModule.dll
│ ├── UnityEngine.UnityWebRequestAudioModule.dll
│ ├── UnityEngine.UnityWebRequestWWWModule.dll
│ ├── UnityEngine.UnityWebRequestTextureModule.dll
│ └── UnityEngine.UnityWebRequestAssetBundleModule.dll
├── Unity2019
│ ├── UnityEngine.dll
│ ├── UnityEngine.UI.dll
│ ├── UnityEngine.AIModule.dll
│ ├── UnityEngine.ARModule.dll
│ ├── UnityEngine.UIModule.dll
│ ├── UnityEngine.VRModule.dll
│ ├── UnityEngine.XRModule.dll
│ ├── UnityEngine.AudioModule.dll
│ ├── UnityEngine.ClothModule.dll
│ ├── UnityEngine.CoreModule.dll
│ ├── UnityEngine.GridModule.dll
│ ├── UnityEngine.IMGUIModule.dll
│ ├── UnityEngine.InputModule.dll
│ ├── UnityEngine.TLSModule.dll
│ ├── UnityEngine.UNETModule.dll
│ ├── UnityEngine.UmbraModule.dll
│ ├── UnityEngine.VFXModule.dll
│ ├── UnityEngine.VideoModule.dll
│ ├── UnityEngine.WindModule.dll
│ ├── UnityEngine.PhysicsModule.dll
│ ├── UnityEngine.TerrainModule.dll
│ ├── UnityEngine.TilemapModule.dll
│ ├── UnityEngine.AndroidJNIModule.dll
│ ├── UnityEngine.AnimationModule.dll
│ ├── UnityEngine.DSPGraphModule.dll
│ ├── UnityEngine.DirectorModule.dll
│ ├── UnityEngine.GameCenterModule.dll
│ ├── UnityEngine.HotReloadModule.dll
│ ├── UnityEngine.Physics2DModule.dll
│ ├── UnityEngine.ProfilerModule.dll
│ ├── UnityEngine.SpriteMaskModule.dll
│ ├── UnityEngine.StreamingModule.dll
│ ├── UnityEngine.SubstanceModule.dll
│ ├── UnityEngine.SubsystemsModule.dll
│ ├── UnityEngine.TextCoreModule.dll
│ ├── UnityEngine.UIElementsModule.dll
│ ├── UnityEngine.UIWidgetsModule.dll
│ ├── UnityEngine.VehiclesModule.dll
│ ├── UnityEngine.AssetBundleModule.dll
│ ├── UnityEngine.ClusterInputModule.dll
│ ├── UnityEngine.InputLegacyModule.dll
│ ├── UnityEngine.LocalizationModule.dll
│ ├── UnityEngine.SpriteShapeModule.dll
│ ├── UnityEngine.UnityConnectModule.dll
│ ├── UnityEngine.AccessibilityModule.dll
│ ├── UnityEngine.AutoStreamingModule.dll
│ ├── UnityEngine.ClusterRendererModule.dll
│ ├── UnityEngine.CrashReportingModule.dll
│ ├── UnityEngine.ImageConversionModule.dll
│ ├── UnityEngine.JSONSerializeModule.dll
│ ├── UnityEngine.ParticleSystemModule.dll
│ ├── UnityEngine.ScreenCaptureModule.dll
│ ├── UnityEngine.SharedInternalsModule.dll
│ ├── UnityEngine.TerrainPhysicsModule.dll
│ ├── UnityEngine.TextRenderingModule.dll
│ ├── UnityEngine.UnityAnalyticsModule.dll
│ ├── UnityEngine.UnityWebRequestModule.dll
│ ├── UnityEngine.UnityTestProtocolModule.dll
│ ├── UnityEngine.PerformanceReportingModule.dll
│ ├── UnityEngine.UnityWebRequestAudioModule.dll
│ ├── UnityEngine.UnityWebRequestWWWModule.dll
│ ├── UnityEngine.UnityWebRequestTextureModule.dll
│ └── UnityEngine.UnityWebRequestAssetBundleModule.dll
├── Unity2021
│ ├── UnityEngine.dll
│ ├── UnityEngine.UI.dll
│ ├── UnityEngine.AIModule.dll
│ ├── UnityEngine.ARModule.dll
│ ├── UnityEngine.GIModule.dll
│ ├── UnityEngine.UIModule.dll
│ ├── UnityEngine.VRModule.dll
│ ├── UnityEngine.XRModule.dll
│ ├── UnityEngine.AudioModule.dll
│ ├── UnityEngine.ClothModule.dll
│ ├── UnityEngine.CoreModule.dll
│ ├── UnityEngine.GridModule.dll
│ ├── UnityEngine.IMGUIModule.dll
│ ├── UnityEngine.InputModule.dll
│ ├── UnityEngine.TLSModule.dll
│ ├── UnityEngine.UNETModule.dll
│ ├── UnityEngine.UmbraModule.dll
│ ├── UnityEngine.VFXModule.dll
│ ├── UnityEngine.VideoModule.dll
│ ├── UnityEngine.WindModule.dll
│ ├── UnityEngine.NVIDIAModule.dll
│ ├── UnityEngine.PhysicsModule.dll
│ ├── UnityEngine.TerrainModule.dll
│ ├── UnityEngine.TilemapModule.dll
│ ├── UnityEngine.AndroidJNIModule.dll
│ ├── UnityEngine.AnimationModule.dll
│ ├── UnityEngine.DSPGraphModule.dll
│ ├── UnityEngine.DirectorModule.dll
│ ├── UnityEngine.GameCenterModule.dll
│ ├── UnityEngine.HotReloadModule.dll
│ ├── UnityEngine.Physics2DModule.dll
│ ├── UnityEngine.ProfilerModule.dll
│ ├── UnityEngine.SpriteMaskModule.dll
│ ├── UnityEngine.StreamingModule.dll
│ ├── UnityEngine.SubstanceModule.dll
│ ├── UnityEngine.SubsystemsModule.dll
│ ├── UnityEngine.UIElementsModule.dll
│ ├── UnityEngine.UIWidgetsModule.dll
│ ├── UnityEngine.UnityCurlModule.dll
│ ├── UnityEngine.VehiclesModule.dll
│ ├── UnityEngine.AssetBundleModule.dll
│ ├── UnityEngine.ClusterInputModule.dll
│ ├── UnityEngine.InputLegacyModule.dll
│ ├── UnityEngine.LocalizationModule.dll
│ ├── UnityEngine.SpriteShapeModule.dll
│ ├── UnityEngine.UnityConnectModule.dll
│ ├── UnityEngine.AccessibilityModule.dll
│ ├── UnityEngine.AutoStreamingModule.dll
│ ├── UnityEngine.ClusterRendererModule.dll
│ ├── UnityEngine.CrashReportingModule.dll
│ ├── UnityEngine.ImageConversionModule.dll
│ ├── UnityEngine.JSONSerializeModule.dll
│ ├── UnityEngine.ParticleSystemModule.dll
│ ├── UnityEngine.ScreenCaptureModule.dll
│ ├── UnityEngine.SharedInternalsModule.dll
│ ├── UnityEngine.TerrainPhysicsModule.dll
│ ├── UnityEngine.TextRenderingModule.dll
│ ├── UnityEngine.UnityAnalyticsModule.dll
│ ├── UnityEngine.UnityWebRequestModule.dll
│ ├── UnityEngine.UIElementsNativeModule.dll
│ ├── UnityEngine.UnityTestProtocolModule.dll
│ ├── UnityEngine.VirtualTexturingModule.dll
│ ├── UnityEngine.PerformanceReportingModule.dll
│ ├── UnityEngine.TextCoreFontEngineModule.dll
│ ├── UnityEngine.TextCoreTextEngineModule.dll
│ ├── UnityEngine.UnityAnalyticsCommonModule.dll
│ ├── UnityEngine.UnityWebRequestAudioModule.dll
│ ├── UnityEngine.UnityWebRequestWWWModule.dll
│ ├── UnityEngine.UnityWebRequestTextureModule.dll
│ ├── UnityEngine.UnityWebRequestAssetBundleModule.dll
│ └── UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll
├── Assembly
│ ├── Assembly-CSharp-PathfinderKingmaker.dll
│ ├── Assembly-CSharp-SolastaCrownOfTheMagister.dll
│ └── Assembly-CSharp-PathfinderWrathOfTheRighteous.dll
└── UnityModManagerConfigLocal.xml
├── Updater
├── DUMM.ico
├── app.config
├── Properties
│ ├── Settings.settings
│ ├── Settings.Designer.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Config.cs
├── Program.cs
├── Form.Designer.cs
├── Updater.csproj
└── Utils.cs
├── UnityModManagerApp
├── DUMM.ico
├── images
│ └── dragdropfiles.png
├── Program.cs
├── Utils.cs
├── Properties
│ ├── Settings.settings
│ ├── Settings.Designer.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Log.cs
├── app.config
├── DownloadMod.cs
├── DownloadExtraFiles.Designer.cs
├── DownloadMod.Designer.cs
├── DownloadExtraFiles.cs
├── tools
│ └── SteamHelper.cs
├── UnityModManagerApp.csproj
└── Updates.cs
├── Console
├── App.config
├── Marks.cs
├── Starter.cs
├── Log.cs
└── Console.csproj
├── UnityModManagerTests
├── BaseTests.cs
├── UI
│ └── Utils
│ │ └── IMGUIUtilTests.cs
├── UnityModManagerTests.csproj
└── test.runsettings
├── UnityModManager
├── Doorstop.cs
├── Fixes.cs
├── Repository.cs
├── ModInfo.cs
├── UnityModManager.csproj
├── UI
│ └── Utils
│ │ ├── IMGUIUtil.cs
│ │ └── AutoSizeFormControlUtil.cs
├── Properties
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── ModSettings.cs
├── TextureReplacer.cs
├── Updates.cs
├── Config.cs
└── Window_GUI.cs
├── Repository.json
├── README.md
├── ReferenceLibs_Assembly.props
├── ReferenceLibs.props
├── .gitattributes
└── DearUnityModManager.sln
/lib/dnlib.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/dnlib.dll
--------------------------------------------------------------------------------
/Updater/DUMM.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/Updater/DUMM.ico
--------------------------------------------------------------------------------
/lib/0Harmony.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/0Harmony.dll
--------------------------------------------------------------------------------
/lib/winhttp.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/winhttp.dll
--------------------------------------------------------------------------------
/lib/0Harmony12.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/0Harmony12.dll
--------------------------------------------------------------------------------
/lib/Ionic.Zip.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Ionic.Zip.dll
--------------------------------------------------------------------------------
/lib/IrisSkin4.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/IrisSkin4.dll
--------------------------------------------------------------------------------
/lib/Skins/MSN.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/MSN.ssk
--------------------------------------------------------------------------------
/lib/Skins/Page.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Page.ssk
--------------------------------------------------------------------------------
/lib/Skins/Warm.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Warm.ssk
--------------------------------------------------------------------------------
/lib/Skins/Wave.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Wave.ssk
--------------------------------------------------------------------------------
/lib/Skins/mp10.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/mp10.ssk
--------------------------------------------------------------------------------
/lib/System.Xml.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/System.Xml.dll
--------------------------------------------------------------------------------
/lib/background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/background.jpg
--------------------------------------------------------------------------------
/lib/0Harmony-1.2.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/0Harmony-1.2.dll
--------------------------------------------------------------------------------
/lib/Skins/Emerald.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Emerald.ssk
--------------------------------------------------------------------------------
/lib/Skins/MacOS.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/MacOS.ssk
--------------------------------------------------------------------------------
/lib/Skins/OneBlue.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/OneBlue.ssk
--------------------------------------------------------------------------------
/lib/Skins/OneCyan.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/OneCyan.ssk
--------------------------------------------------------------------------------
/lib/Skins/RealOne.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/RealOne.ssk
--------------------------------------------------------------------------------
/lib/Skins/Silver.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Silver.ssk
--------------------------------------------------------------------------------
/lib/Skins/XPBlue.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/XPBlue.ssk
--------------------------------------------------------------------------------
/lib/Skins/XPGreen.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/XPGreen.ssk
--------------------------------------------------------------------------------
/lib/Skins/vista1.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/vista1.ssk
--------------------------------------------------------------------------------
/lib/Newtonsoft.Json.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Newtonsoft.Json.dll
--------------------------------------------------------------------------------
/lib/Skins/Calmness.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Calmness.ssk
--------------------------------------------------------------------------------
/lib/Skins/DeepCyan.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/DeepCyan.ssk
--------------------------------------------------------------------------------
/lib/Skins/DeepGreen.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/DeepGreen.ssk
--------------------------------------------------------------------------------
/lib/Skins/Eighteen.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Eighteen.ssk
--------------------------------------------------------------------------------
/lib/Skins/Longhorn.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Longhorn.ssk
--------------------------------------------------------------------------------
/lib/Skins/Midsummer.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Midsummer.ssk
--------------------------------------------------------------------------------
/lib/Skins/OneGreen.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/OneGreen.ssk
--------------------------------------------------------------------------------
/lib/Skins/OneOrange.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/OneOrange.ssk
--------------------------------------------------------------------------------
/lib/Skins/SteelBlue.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/SteelBlue.ssk
--------------------------------------------------------------------------------
/lib/Skins/XPOrange.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/XPOrange.ssk
--------------------------------------------------------------------------------
/lib/Skins/XPSilver.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/XPSilver.ssk
--------------------------------------------------------------------------------
/lib/Skins/mp10green.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/mp10green.ssk
--------------------------------------------------------------------------------
/lib/Skins/mp10pink.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/mp10pink.ssk
--------------------------------------------------------------------------------
/lib/Skins/DeepOrange.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/DeepOrange.ssk
--------------------------------------------------------------------------------
/lib/Skins/DiamondBlue.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/DiamondBlue.ssk
--------------------------------------------------------------------------------
/lib/Skins/DiamondGreen.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/DiamondGreen.ssk
--------------------------------------------------------------------------------
/lib/Skins/DiamondOlive.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/DiamondOlive.ssk
--------------------------------------------------------------------------------
/lib/Skins/DiamondRed.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/DiamondRed.ssk
--------------------------------------------------------------------------------
/lib/Skins/GlassBrown.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/GlassBrown.ssk
--------------------------------------------------------------------------------
/lib/Skins/GlassGreen.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/GlassGreen.ssk
--------------------------------------------------------------------------------
/lib/Skins/GlassOrange.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/GlassOrange.ssk
--------------------------------------------------------------------------------
/lib/Skins/PageColor1.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/PageColor1.ssk
--------------------------------------------------------------------------------
/lib/Skins/PageColor2.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/PageColor2.ssk
--------------------------------------------------------------------------------
/lib/Skins/SilverColor1.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/SilverColor1.ssk
--------------------------------------------------------------------------------
/lib/Skins/SilverColor2.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/SilverColor2.ssk
--------------------------------------------------------------------------------
/lib/Skins/SportsBlack.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/SportsBlack.ssk
--------------------------------------------------------------------------------
/lib/Skins/SportsBlue.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/SportsBlue.ssk
--------------------------------------------------------------------------------
/lib/Skins/SportsCyan.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/SportsCyan.ssk
--------------------------------------------------------------------------------
/lib/Skins/SportsGreen.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/SportsGreen.ssk
--------------------------------------------------------------------------------
/lib/Skins/SportsOrange.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/SportsOrange.ssk
--------------------------------------------------------------------------------
/lib/Skins/SteelBlack.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/SteelBlack.ssk
--------------------------------------------------------------------------------
/lib/Skins/WarmColor1.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/WarmColor1.ssk
--------------------------------------------------------------------------------
/lib/Skins/WarmColor2.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/WarmColor2.ssk
--------------------------------------------------------------------------------
/lib/Skins/WarmColor3.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/WarmColor3.ssk
--------------------------------------------------------------------------------
/lib/Skins/WaveColor1.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/WaveColor1.ssk
--------------------------------------------------------------------------------
/lib/Skins/WaveColor2.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/WaveColor2.ssk
--------------------------------------------------------------------------------
/lib/Skins/mp10maroon.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/mp10maroon.ssk
--------------------------------------------------------------------------------
/lib/Skins/mp10mulberry.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/mp10mulberry.ssk
--------------------------------------------------------------------------------
/lib/Skins/mp10purple.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/mp10purple.ssk
--------------------------------------------------------------------------------
/lib/Skins/office2007.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/office2007.ssk
--------------------------------------------------------------------------------
/lib/Skins/vista1_green.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/vista1_green.ssk
--------------------------------------------------------------------------------
/UnityModManagerApp/DUMM.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/UnityModManagerApp/DUMM.ico
--------------------------------------------------------------------------------
/lib/Skins/CalmnessColor1.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/CalmnessColor1.ssk
--------------------------------------------------------------------------------
/lib/Skins/CalmnessColor2.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/CalmnessColor2.ssk
--------------------------------------------------------------------------------
/lib/Skins/DiamondPurple.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/DiamondPurple.ssk
--------------------------------------------------------------------------------
/lib/Skins/EighteenColor1.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/EighteenColor1.ssk
--------------------------------------------------------------------------------
/lib/Skins/EighteenColor2.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/EighteenColor2.ssk
--------------------------------------------------------------------------------
/lib/Skins/EmeraldColor1.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/EmeraldColor1.ssk
--------------------------------------------------------------------------------
/lib/Skins/EmeraldColor2.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/EmeraldColor2.ssk
--------------------------------------------------------------------------------
/lib/Skins/EmeraldColor3.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/EmeraldColor3.ssk
--------------------------------------------------------------------------------
/lib/Skins/Vista2_color1.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Vista2_color1.ssk
--------------------------------------------------------------------------------
/lib/Skins/Vista2_color2.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Vista2_color2.ssk
--------------------------------------------------------------------------------
/lib/Skins/Vista2_color3.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Vista2_color3.ssk
--------------------------------------------------------------------------------
/lib/Skins/Vista2_color4.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Vista2_color4.ssk
--------------------------------------------------------------------------------
/lib/Skins/Vista2_color5.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Vista2_color5.ssk
--------------------------------------------------------------------------------
/lib/Skins/Vista2_color6.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Vista2_color6.ssk
--------------------------------------------------------------------------------
/lib/Skins/Vista2_color7.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/Vista2_color7.ssk
--------------------------------------------------------------------------------
/lib/Skins/MidsummerColor1.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/MidsummerColor1.ssk
--------------------------------------------------------------------------------
/lib/Skins/MidsummerColor2.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/MidsummerColor2.ssk
--------------------------------------------------------------------------------
/lib/Skins/MidsummerColor3.ssk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Skins/MidsummerColor3.ssk
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UI.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UI.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UI.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UI.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UI.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UI.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.AIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.AIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.ARModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.ARModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.VRModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.VRModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.XRModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.XRModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.AIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.AIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.ARModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.ARModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.VRModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.VRModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.XRModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.XRModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.AIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.AIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.ARModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.ARModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.GIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.GIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.VRModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.VRModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.XRModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.XRModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.AudioModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.AudioModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.ClothModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.ClothModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.CoreModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.CoreModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.GridModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.GridModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.IMGUIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.IMGUIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.InputModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.InputModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.TLSModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.TLSModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UNETModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UNETModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UmbraModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UmbraModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.VFXModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.VFXModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.VideoModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.VideoModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.WindModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.WindModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.AudioModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.AudioModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.ClothModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.ClothModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.CoreModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.CoreModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.GridModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.GridModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.IMGUIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.IMGUIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.InputModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.InputModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.TLSModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.TLSModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UNETModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UNETModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UmbraModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UmbraModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.VFXModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.VFXModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.VideoModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.VideoModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.WindModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.WindModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.AudioModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.AudioModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.ClothModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.ClothModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.CoreModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.CoreModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.GridModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.GridModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.IMGUIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.IMGUIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.InputModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.InputModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.TLSModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.TLSModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UNETModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UNETModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UmbraModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UmbraModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.VFXModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.VFXModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.VideoModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.VideoModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.WindModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.WindModule.dll
--------------------------------------------------------------------------------
/UnityModManagerApp/images/dragdropfiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/UnityModManagerApp/images/dragdropfiles.png
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.BaselibModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.BaselibModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.PhysicsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.PhysicsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.TerrainModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.TerrainModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.TilemapModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.TilemapModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.PhysicsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.PhysicsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.TerrainModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.TerrainModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.TilemapModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.TilemapModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.NVIDIAModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.NVIDIAModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.PhysicsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.PhysicsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.TerrainModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.TerrainModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.TilemapModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.TilemapModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.AnimationModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.AnimationModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.DirectorModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.DirectorModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.GameCenterModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.GameCenterModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.HotReloadModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.HotReloadModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.Physics2DModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.Physics2DModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.ProfilerModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.ProfilerModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.SpriteMaskModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.SpriteMaskModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.StreamingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.StreamingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.SubstanceModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.SubstanceModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.TextCoreModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.TextCoreModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.TimelineModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.TimelineModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UIElementsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UIElementsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.VehiclesModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.VehiclesModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.AndroidJNIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.AndroidJNIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.AnimationModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.AnimationModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.DSPGraphModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.DSPGraphModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.DirectorModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.DirectorModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.GameCenterModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.GameCenterModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.HotReloadModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.HotReloadModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.Physics2DModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.Physics2DModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.ProfilerModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.ProfilerModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.SpriteMaskModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.SpriteMaskModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.StreamingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.StreamingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.SubstanceModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.SubstanceModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.SubsystemsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.SubsystemsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.TextCoreModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.TextCoreModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UIElementsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UIElementsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UIWidgetsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UIWidgetsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.VehiclesModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.VehiclesModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.AndroidJNIModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.AndroidJNIModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.AnimationModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.AnimationModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.DSPGraphModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.DSPGraphModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.DirectorModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.DirectorModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.GameCenterModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.GameCenterModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.HotReloadModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.HotReloadModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.Physics2DModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.Physics2DModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.ProfilerModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.ProfilerModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.SpriteMaskModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.SpriteMaskModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.StreamingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.StreamingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.SubstanceModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.SubstanceModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.SubsystemsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.SubsystemsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UIElementsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UIElementsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UIWidgetsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UIWidgetsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UnityCurlModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UnityCurlModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.VehiclesModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.VehiclesModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.AssetBundleModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.AssetBundleModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.ClusterInputModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.ClusterInputModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.LocalizationModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.LocalizationModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.SpriteShapeModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.SpriteShapeModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.StyleSheetsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.StyleSheetsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UnityConnectModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UnityConnectModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.AssetBundleModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.AssetBundleModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.ClusterInputModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.ClusterInputModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.InputLegacyModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.InputLegacyModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.LocalizationModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.LocalizationModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.SpriteShapeModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.SpriteShapeModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UnityConnectModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UnityConnectModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.AssetBundleModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.AssetBundleModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.ClusterInputModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.ClusterInputModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.InputLegacyModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.InputLegacyModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.LocalizationModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.LocalizationModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.SpriteShapeModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.SpriteShapeModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UnityConnectModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UnityConnectModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.AccessibilityModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.AccessibilityModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.ClusterRendererModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.ClusterRendererModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.CrashReportingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.CrashReportingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.FileSystemHttpModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.FileSystemHttpModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.ImageConversionModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.ImageConversionModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.JSONSerializeModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.JSONSerializeModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.ParticleSystemModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.ParticleSystemModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.ScreenCaptureModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.ScreenCaptureModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.SharedInternalsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.SharedInternalsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.SpatialTrackingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.SpatialTrackingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.TerrainPhysicsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.TerrainPhysicsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.TextRenderingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.TextRenderingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UnityAnalyticsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UnityAnalyticsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UnityWebRequestModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UnityWebRequestModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.AccessibilityModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.AccessibilityModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.AutoStreamingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.AutoStreamingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.ClusterRendererModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.ClusterRendererModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.CrashReportingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.CrashReportingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.ImageConversionModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.ImageConversionModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.JSONSerializeModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.JSONSerializeModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.ParticleSystemModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.ParticleSystemModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.ScreenCaptureModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.ScreenCaptureModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.SharedInternalsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.SharedInternalsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.TerrainPhysicsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.TerrainPhysicsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.TextRenderingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.TextRenderingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UnityAnalyticsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UnityAnalyticsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UnityWebRequestModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UnityWebRequestModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.AccessibilityModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.AccessibilityModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.AutoStreamingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.AutoStreamingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.ClusterRendererModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.ClusterRendererModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.CrashReportingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.CrashReportingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.ImageConversionModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.ImageConversionModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.JSONSerializeModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.JSONSerializeModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.ParticleSystemModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.ParticleSystemModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.ScreenCaptureModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.ScreenCaptureModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.SharedInternalsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.SharedInternalsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.TerrainPhysicsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.TerrainPhysicsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.TextRenderingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.TextRenderingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UnityAnalyticsModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UnityAnalyticsModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UnityWebRequestModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UnityWebRequestModule.dll
--------------------------------------------------------------------------------
/lib/Assembly/Assembly-CSharp-PathfinderKingmaker.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Assembly/Assembly-CSharp-PathfinderKingmaker.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UnityTestProtocolModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UnityTestProtocolModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UnityTestProtocolModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UnityTestProtocolModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UIElementsNativeModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UIElementsNativeModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UnityTestProtocolModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UnityTestProtocolModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.VirtualTexturingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.VirtualTexturingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.PerformanceReportingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.PerformanceReportingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UnityWebRequestAudioModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UnityWebRequestAudioModule.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UnityWebRequestWWWModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UnityWebRequestWWWModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.PerformanceReportingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.PerformanceReportingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UnityWebRequestAudioModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UnityWebRequestAudioModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UnityWebRequestWWWModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UnityWebRequestWWWModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.PerformanceReportingModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.PerformanceReportingModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.TextCoreFontEngineModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.TextCoreFontEngineModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.TextCoreTextEngineModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.TextCoreTextEngineModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UnityAnalyticsCommonModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UnityAnalyticsCommonModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UnityWebRequestAudioModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UnityWebRequestAudioModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UnityWebRequestWWWModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UnityWebRequestWWWModule.dll
--------------------------------------------------------------------------------
/Updater/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/lib/Assembly/Assembly-CSharp-SolastaCrownOfTheMagister.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Assembly/Assembly-CSharp-SolastaCrownOfTheMagister.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UnityWebRequestTextureModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UnityWebRequestTextureModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UnityWebRequestTextureModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UnityWebRequestTextureModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UnityWebRequestTextureModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UnityWebRequestTextureModule.dll
--------------------------------------------------------------------------------
/lib/Assembly/Assembly-CSharp-PathfinderWrathOfTheRighteous.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Assembly/Assembly-CSharp-PathfinderWrathOfTheRighteous.dll
--------------------------------------------------------------------------------
/lib/Unity2018/UnityEngine.UnityWebRequestAssetBundleModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2018/UnityEngine.UnityWebRequestAssetBundleModule.dll
--------------------------------------------------------------------------------
/lib/Unity2019/UnityEngine.UnityWebRequestAssetBundleModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2019/UnityEngine.UnityWebRequestAssetBundleModule.dll
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.UnityWebRequestAssetBundleModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.UnityWebRequestAssetBundleModule.dll
--------------------------------------------------------------------------------
/Console/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/lib/Unity2021/UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/legendaryhero1981/Dear-Unity-Mod-Manager/HEAD/lib/Unity2021/UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll
--------------------------------------------------------------------------------
/Console/Marks.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace UnityModManagerNet.Marks
7 | {
8 | public static class IsDirty
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/UnityModManagerTests/BaseTests.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.VisualStudio.TestTools.UnitTesting;
2 |
3 | namespace UnityModManagerTests
4 | {
5 | public abstract class BaseTests
6 | {
7 | public TestContext TestContext { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/UnityModManager/Doorstop.cs:
--------------------------------------------------------------------------------
1 | using JetBrains.Annotations;
2 |
3 | namespace Doorstop;
4 |
5 | [UsedImplicitly]
6 | public class Entrypoint
7 | {
8 | [UsedImplicitly]
9 | public static void Start()
10 | {
11 | UnityModManagerNet.UnityModManager.Main();
12 | }
13 | }
--------------------------------------------------------------------------------
/Updater/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Repository.json:
--------------------------------------------------------------------------------
1 | {
2 | "Releases":
3 | [
4 | {
5 | "Id": "UnityModManager",
6 | "Version": "0.27.10.65",
7 | "DownloadUrl": "https://github.com/legendaryhero1981/Dear-Unity-Mod-Manager/releases/download/V0.27.10.65/DearUnityModManager.zip"
8 | }
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/Console/Starter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace UnityModManagerNet.Injection
7 | {
8 | public class UnityModManagerStarter
9 | {
10 | public static void Start()
11 | {
12 | Injector.Run();
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/UnityModManagerApp/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows.Forms;
3 |
4 | namespace UnityModManagerNet.Installer
5 | {
6 | internal static class Program
7 | {
8 | [STAThread]
9 | private static void Main()
10 | {
11 | Application.EnableVisualStyles();
12 | Application.SetCompatibleTextRenderingDefault(false);
13 | Application.Run(new UnityModManagerForm());
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Updater/Config.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace UnityModManagerNet.Updater
4 | {
5 | public class Config
6 | {
7 | public string Repository;
8 | }
9 |
10 | public class Repository
11 | {
12 | [Serializable]
13 | public class Release
14 | {
15 | public string Id;
16 | public string Version;
17 | public string DownloadUrl;
18 | }
19 |
20 | public Release[] Releases;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Updater/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows.Forms;
3 |
4 | namespace UnityModManagerNet.Updater
5 | {
6 | internal static class Program
7 | {
8 | [STAThread]
9 | private static void Main()
10 | {
11 | Application.EnableVisualStyles();
12 | Application.SetCompatibleTextRenderingDefault(false);
13 | var form = new UpdaterForm();
14 | Application.Run(form);
15 | //form.DoFormClosed();
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Dear Unity Mod Manager
2 | #### 亲爱的Unity引擎类游戏MOD管理器,主要功能是能够让原本不支持或未开放MOD功能的Unity游戏支持MOD。
3 |
4 | #
5 | # 目前版本
6 | # v0.27.10.65
7 |
8 | #
9 | # 此项目使用到的第三方类库有:
10 | - [unity-mod-manager](https://github.com/newman55/unity-mod-manager)
11 | - [Harmony](https://github.com/pardeike/Harmony)
12 | - [HarmonyProxy](https://github.com/spacehamster/HarmonyProxy)
13 | - [UnityDoorstop](https://github.com/NeighTools/UnityDoorstop)
14 | - [dnlib](https://github.com/0xd4d/dnlib)
15 | - [Json.NET](https://github.com/JamesNK/Newtonsoft.Json)
16 | - [TinyJson](https://github.com/zanders3/json)
17 | - [Ionic.Zip](https://archive.codeplex.com/?p=dotnetzip)
18 |
19 | #
20 | # 特别感谢:
21 | - [newman55](https://github.com/newman55) 开发了UMM原始版本!
22 |
--------------------------------------------------------------------------------
/UnityModManagerApp/Utils.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.IO;
3 |
4 | namespace UnityModManagerNet.Installer
5 | {
6 | public class Utils : ConsoleInstaller.Utils
7 | {
8 | public static Dictionary GetMatchedFiles(string path, string regex, Dictionary defaults = null)
9 | {
10 | var results = defaults is {Count: > 0} ? new Dictionary(defaults) : new Dictionary();
11 | var directoryInfo = new DirectoryInfo(path);
12 | foreach (var fileInfo in directoryInfo.GetFiles(regex))
13 | results[Path.GetFileNameWithoutExtension(fileInfo.FullName)] = fileInfo.FullName;
14 | return results;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/ReferenceLibs_Assembly.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ..\lib\Assembly\Assembly-CSharp-PathfinderKingmaker.dll
5 | False
6 | PathfinderKingmaker
7 |
8 |
9 | ..\lib\Assembly\Assembly-CSharp-PathfinderWrathOfTheRighteous.dll
10 | False
11 | PathfinderWrathOfTheRighteous
12 |
13 |
14 | ..\lib\Assembly\Assembly-CSharp-SolastaCrownOfTheMagister.dll
15 | False
16 | SolastaCrown
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityModManager/Fixes.cs:
--------------------------------------------------------------------------------
1 | using HarmonyLib;
2 | using System;
3 | using System.Reflection;
4 |
5 | namespace UnityModManagerNet;
6 |
7 | static class Fixes
8 | {
9 | public static void Apply()
10 | {
11 | if (Environment.Version >= new Version(4, 0)) return;
12 | var harmony = new Harmony(nameof(UnityModManager));
13 | var original = typeof(Assembly).GetMethod(nameof(Assembly.GetTypes), BindingFlags.Instance | BindingFlags.Public, null, new Type[0], new ParameterModifier[0]);
14 | var prefix = typeof(Fixes).GetMethod(nameof(Prefix_GetTypes), BindingFlags.Static | BindingFlags.NonPublic);
15 | harmony.Patch(original, new HarmonyMethod(prefix));
16 | }
17 |
18 | static bool Prefix_GetTypes(Assembly __instance, ref Type[] __result)
19 | {
20 | if (!__instance.FullName.StartsWith("UnityModManager")) return true;
21 | __result = new Type[0];
22 | return false;
23 | }
24 | }
--------------------------------------------------------------------------------
/ReferenceLibs.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | ..\lib\0Harmony.dll
11 | False
12 |
13 |
14 | ..\lib\dnlib.dll
15 | False
16 |
17 |
18 | ..\lib\Ionic.Zip.dll
19 | False
20 |
21 |
22 | ..\lib\Newtonsoft.Json.dll
23 | False
24 |
25 |
26 |
--------------------------------------------------------------------------------
/UnityModManagerTests/UI/Utils/IMGUIUtilTests.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Microsoft.VisualStudio.TestTools.UnitTesting;
3 | using Microsoft.VisualStudio.TestTools.UnitTesting.Logging;
4 | using UnityModManagerTests;
5 |
6 | namespace UnityModManagerNet.UI.Utils.Tests
7 | {
8 | [TestClass()]
9 | public class ImguiUtilTests : BaseTests
10 | {
11 | [TestMethod()]
12 | public void FileToBase64StringTest()
13 | {
14 | var imgFilePath = (string) TestContext.Properties["ImguiUtilTests.imgFilePath"];
15 | Logger.LogMessage(imgFilePath);
16 | var base64String = ImguiUtil.FileToBase64String(imgFilePath);
17 | Assert.IsNotNull(base64String);
18 | }
19 |
20 | [TestMethod()]
21 | public void Base64StringToTexture2DTest()
22 | {
23 | var texture2D = ImguiUtil.Base64StringToTexture2D("");
24 | Assert.IsNotNull(texture2D);
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/UnityModManagerApp/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 微软雅黑, 9.75pt, style=Bold
7 |
8 |
9 | 微软雅黑, 14.25pt
10 |
11 |
12 | 微软雅黑, 15.75pt, style=Bold
13 |
14 |
15 | 微软雅黑, 20.25pt, style=Bold
16 |
17 |
18 |
--------------------------------------------------------------------------------
/UnityModManager/Repository.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace UnityModManagerNet
4 | {
5 | public partial class UnityModManager
6 | {
7 | public class Repository
8 | {
9 | public Release[] Releases;
10 |
11 | [Serializable]
12 | public class Release : IEquatable
13 | {
14 | public string DownloadUrl;
15 | public string Id;
16 | public string Version;
17 |
18 | public bool Equals(Release other)
19 | {
20 | return Id.Equals(other.Id);
21 | }
22 |
23 | public override bool Equals(object obj)
24 | {
25 | if (ReferenceEquals(null, obj)) return false;
26 | return obj is Release obj2 && Equals(obj2);
27 | }
28 |
29 | public override int GetHashCode()
30 | {
31 | return Id.GetHashCode();
32 | }
33 | }
34 | }
35 | }
36 | }
--------------------------------------------------------------------------------
/Updater/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // 此代码由工具生成。
4 | // 运行时版本:4.0.30319.42000
5 | //
6 | // 对此文件的更改可能会导致不正确的行为,并且如果
7 | // 重新生成代码,这些更改将会丢失。
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace UnityModManagerNet.Updater.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.1.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/UnityModManagerApp/Log.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace UnityModManagerNet.Installer
4 | {
5 | public class Log : ConsoleInstaller.Log
6 | {
7 | public override void Write(string str, bool append = false)
8 | {
9 | if (append)
10 | {
11 | UnityModManagerForm.instance.statusLabel.Text += str;
12 | UnityModManagerForm.instance.statusLabel.ToolTipText += str;
13 | }
14 | else
15 | {
16 | UnityModManagerForm.instance.statusLabel.Text = str;
17 | UnityModManagerForm.instance.statusLabel.ToolTipText = str;
18 | if (firstLine)
19 | {
20 | firstLine = false;
21 | str = $"[{DateTime.Now.ToShortTimeString()}] {str}";
22 | }
23 | else
24 | {
25 | str = $"\r\n[{DateTime.Now.ToShortTimeString()}] {str}";
26 | }
27 | }
28 |
29 | UnityModManagerForm.instance.inputLog.AppendText(str);
30 | stream?.Write(str);
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/UnityModManagerTests/UnityModManagerTests.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {E953E4AD-49FD-4BD8-AFD0-5EDA98DC10C1}
6 | Library
7 | 512
8 | UnityModManagerTests
9 | UnityModManagerTests
10 | net472
11 | latest
12 | False
13 | UnitTest
14 |
15 |
16 | none
17 | false
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/UnityModManagerApp/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | 微软雅黑, 9.75pt, style=Bold
14 |
15 |
16 | 微软雅黑, 14.25pt
17 |
18 |
19 | 微软雅黑, 15.75pt, style=Bold
20 |
21 |
22 | 微软雅黑, 20.25pt, style=Bold
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/UnityModManager/ModInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace UnityModManagerNet
4 | {
5 | public partial class UnityModManager
6 | {
7 | public class ModInfo : IEquatable
8 | {
9 | public string Id;
10 | public string DisplayName;
11 | public string Author;
12 | public string Version;
13 | public string GameVersion;
14 | public string ManagerVersion;
15 | public string[] Requirements;
16 | public string[] LoadAfter;
17 | public string AssemblyName;
18 | public string EntryMethod;
19 | public string HomePage;
20 | public string Repository;
21 | public string ContentType;
22 | [NonSerialized]
23 | public bool IsCheat = true;
24 | ///
25 | /// [0.20.0.15]
26 | ///
27 | public string FreezeUI;
28 |
29 | public bool Equals(ModInfo other)
30 | {
31 | return Id.Equals(other?.Id);
32 | }
33 |
34 | public static implicit operator bool(ModInfo exists)
35 | {
36 | return exists != null;
37 | }
38 |
39 | public override bool Equals(object obj)
40 | {
41 | if (ReferenceEquals(null, obj)) return false;
42 | return obj is ModInfo modInfo && Equals(modInfo);
43 | }
44 |
45 | public override int GetHashCode()
46 | {
47 | return Id.GetHashCode();
48 | }
49 | }
50 | }
51 | }
--------------------------------------------------------------------------------
/UnityModManager/UnityModManager.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {A1FCAE3E-523E-4E33-8860-DD39DDDF0F62}
6 | false
7 | Library
8 | 512
9 | net472
10 | latest
11 | UnityModManagerNet
12 | UnityModManager
13 | true
14 | 0.27.10.65
15 | 0.27.10.65
16 | 0.27.10.65
17 | 0.27.10.65
18 | 李允
19 | Legend
20 | Copyright © Legend 2011-$([System.DateTime]::Now.ToString('yyyy'))
21 | 亲爱的Unity游戏MOD管理器核心API类库
22 | $(Description)
23 |
24 |
25 | none
26 | false
27 |
28 |
29 |
30 | ResXFileCodeGenerator
31 | Resources.Designer.cs
32 |
33 |
34 | True
35 | True
36 | Resources.resx
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Console/Log.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 |
4 | namespace UnityModManagerNet.ConsoleInstaller
5 | {
6 | public class Log
7 | {
8 | public static Log Instance { get; set; }
9 | protected static bool firstLine = true;
10 | public const string fileLog = "Log.txt";
11 | protected static StreamWriter stream;
12 |
13 | public static void Print(string str, bool append = false)
14 | {
15 | Instance.Write(str, append);
16 | }
17 |
18 | public static void Append(string str)
19 | {
20 | Print(str, true);
21 | }
22 |
23 | public static void Init() where T: Log
24 | {
25 | try
26 | {
27 | Instance = Activator.CreateInstance();
28 | File.Delete(fileLog);
29 | stream = new StreamWriter(new FileStream(fileLog, FileMode.OpenOrCreate, FileAccess.Write));
30 | stream.AutoFlush = true;
31 | }
32 | catch (UnauthorizedAccessException)
33 | {
34 | Print("写入错误,权限不足!请尝试以管理员身份运行此程序。");
35 | }
36 | }
37 |
38 | public virtual void Write(string str, bool append = false)
39 | {
40 | if (append)
41 | {
42 | Console.Write(str);
43 | }
44 | else
45 | {
46 | if (firstLine)
47 | {
48 | firstLine = false;
49 | str = $"[{DateTime.Now.ToShortTimeString()}] {str}";
50 | }
51 | else
52 | {
53 | str = $"\r\n[{DateTime.Now.ToShortTimeString()}] {str}";
54 | }
55 | Console.Write(str);
56 | }
57 |
58 | stream?.Write(str);
59 | }
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/UnityModManager/UI/Utils/IMGUIUtil.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 |
4 | using UnityEngine;
5 |
6 | using Logger = UnityModManagerNet.UnityModManager.Logger;
7 |
8 | namespace UnityModManagerNet.UI.Utils;
9 |
10 | public sealed class ImguiUtil
11 | {
12 | ///
13 | /// 将图片文件转换成Texture2D对象
14 | ///
15 | public static Texture2D FileToTexture2D(string path, int width, int height)
16 | {
17 | try
18 | {
19 | var texture2D = new Texture2D(width, height);
20 | using var fs = new FileStream(path, FileMode.Open, FileAccess.Read);
21 | var buffer = new byte[fs.Length];
22 | fs.Read(buffer, 0, (int)fs.Length);
23 | texture2D.LoadImage(buffer);
24 | Logger.Log($"将文件{path}转换为Texture2D对象成功!");
25 | return texture2D;
26 | }
27 | catch (Exception e)
28 | {
29 | Logger.Error($"将文件{path}转换为Texture2D对象失败!错误信息:{e.Message}");
30 | return null;
31 | }
32 | }
33 | ///
34 | /// 将图片文件转换成base64编码文本
35 | ///
36 | public static string FileToBase64String(string path)
37 | {
38 | var base64String = "";
39 | try
40 | {
41 | using var fs = new FileStream(path, FileMode.Open, FileAccess.Read);
42 | var buffer = new byte[fs.Length];
43 | fs.Read(buffer, 0, (int)fs.Length);
44 | base64String = Convert.ToBase64String(buffer);
45 | Logger.Log($"获取当前图片base64为:{base64String}");
46 | }
47 | catch (Exception e)
48 | {
49 | Logger.Error($"ImgToBase64String 转换失败:{e.Message}");
50 | }
51 | return base64String;
52 | }
53 |
54 | ///
55 | /// 将base64编码文本转换成Texture2D对象
56 | ///
57 | public static Texture2D Base64StringToTexture2D(string base64)
58 | {
59 | var texture2D = new Texture2D(2, 2);
60 | texture2D.LoadImage(Convert.FromBase64String(base64));
61 | return texture2D;
62 | }
63 | }
--------------------------------------------------------------------------------
/Console/Console.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {7151CE06-904E-485D-8BC3-A7174A9D5D29}
5 | false
6 | Exe
7 | 512
8 | net472
9 | latest
10 | UnityModManagerNet.ConsoleInstaller
11 | Console
12 | true
13 | 1.0.0.0
14 | 1.0.0.0
15 | 1.0.0.0
16 | 1.0.0.0
17 | 李允
18 | Legend
19 | Copyright © Legend 2011-$([System.DateTime]::Now.ToString('yyyy'))
20 | 亲爱的Unity游戏MOD管理器控制台程序
21 | $(Description)
22 |
23 |
24 |
25 | none
26 | false
27 |
28 |
29 |
30 | ..\lib\0Harmony.dll
31 |
32 |
33 | ..\lib\dnlib.dll
34 |
35 |
36 | ..\lib\Newtonsoft.Json.dll
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/UnityModManagerApp/DownloadMod.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using System.IO;
4 | using System.Net;
5 | using System.Text;
6 | using System.Windows.Forms;
7 |
8 | namespace UnityModManagerNet.Installer
9 | {
10 | public partial class DownloadMod : Form
11 | {
12 | public UnityModManager.Repository.Release Release;
13 | public string TempFilepath { get; private set; }
14 |
15 | public DownloadMod()
16 | {
17 | InitializeComponent();
18 | }
19 |
20 | public DownloadMod(UnityModManager.Repository.Release release)
21 | {
22 | this.Release = release;
23 | InitializeComponent();
24 | Start();
25 | }
26 |
27 | private void Start()
28 | {
29 | try
30 | {
31 | var dir = Path.Combine(Path.GetTempPath(), "DearUnityModManager");
32 |
33 | if (!Directory.Exists(dir)) Directory.CreateDirectory(dir);
34 |
35 | TempFilepath = Path.Combine(dir, $"{Release.Id}.zip");
36 | status.Text = $@"正在下载 {Release.Id} {Release.Version} ……";
37 | using var wc = new WebClient {Encoding = Encoding.UTF8};
38 | wc.DownloadProgressChanged += Wc_DownloadProgressChanged;
39 | wc.DownloadFileCompleted += Wc_DownloadFileCompleted;
40 | wc.DownloadFileAsync(new Uri(Release.DownloadUrl), TempFilepath);
41 | }
42 | catch (Exception e)
43 | {
44 | status.Text = e.Message;
45 | ConsoleInstaller.Log.Print(e.Message);
46 | }
47 | }
48 |
49 | private void Wc_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
50 | {
51 | progressBar.Value = e.ProgressPercentage;
52 | }
53 |
54 | private void Wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
55 | {
56 | if (e.Error != null)
57 | {
58 | status.Text = e.Error.Message;
59 | ConsoleInstaller.Log.Print(e.Error.Message);
60 | return;
61 | }
62 |
63 | if (e.Cancelled) return;
64 | DialogResult = DialogResult.OK;
65 | Close();
66 | }
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/Updater/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // 此代码由工具生成。
4 | // 运行时版本:4.0.30319.42000
5 | //
6 | // 对此文件的更改可能会导致不正确的行为,并且如果
7 | // 重新生成代码,这些更改将会丢失。
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace UnityModManagerNet.Updater.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// 一个强类型的资源类,用于查找本地化的字符串等。
17 | ///
18 | // 此类是由 StronglyTypedResourceBuilder
19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
20 | // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
21 | // (以 /str 作为命令选项),或重新生成 VS 项目。
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// 返回此类使用的缓存的 ResourceManager 实例。
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UnityModManagerNet.Updater.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// 重写当前线程的 CurrentUICulture 属性
51 | /// 重写当前线程的 CurrentUICulture 属性。
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/UnityModManagerApp/DownloadExtraFiles.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace UnityModManagerNet.Installer
2 | {
3 | partial class DownloadExtraFiles
4 | {
5 | ///
6 | /// Обязательная переменная конструктора.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Освободить все используемые ресурсы.
12 | ///
13 | /// истинно, если управляемый ресурс должен быть удален; иначе ложно.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Код, автоматически созданный конструктором форм Windows
24 |
25 | ///
26 | /// Требуемый метод для поддержки конструктора — не изменяйте
27 | /// содержимое этого метода с помощью редактора кода.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.status = new System.Windows.Forms.Label();
32 | this.progressBar1 = new System.Windows.Forms.ProgressBar();
33 | this.SuspendLayout();
34 | //
35 | // status
36 | //
37 | this.status.Location = new System.Drawing.Point(12, 9);
38 | this.status.Name = "status";
39 | this.status.Size = new System.Drawing.Size(306, 43);
40 | this.status.TabIndex = 2;
41 | this.status.Text = "下载中……";
42 | this.status.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
43 | //
44 | // progressBar1
45 | //
46 | this.progressBar1.Location = new System.Drawing.Point(12, 55);
47 | this.progressBar1.Name = "progressBar1";
48 | this.progressBar1.Size = new System.Drawing.Size(306, 23);
49 | this.progressBar1.TabIndex = 3;
50 | //
51 | // DownloadExtraFiles
52 | //
53 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
54 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
55 | this.ClientSize = new System.Drawing.Size(330, 94);
56 | this.Controls.Add(this.progressBar1);
57 | this.Controls.Add(this.status);
58 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
59 | this.MaximizeBox = false;
60 | this.MinimizeBox = false;
61 | this.Name = "DownloadExtraFiles";
62 | this.Text = "附加文件";
63 | this.ResumeLayout(false);
64 |
65 | }
66 |
67 | #endregion
68 |
69 | public System.Windows.Forms.Label status;
70 | private System.Windows.Forms.ProgressBar progressBar1;
71 | }
72 | }
73 |
74 |
--------------------------------------------------------------------------------
/Updater/Form.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace UnityModManagerNet.Updater
2 | {
3 | partial class UpdaterForm
4 | {
5 | ///
6 | /// Обязательная переменная конструктора.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Освободить все используемые ресурсы.
12 | ///
13 | /// истинно, если управляемый ресурс должен быть удален; иначе ложно.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Form初始化
24 | private void InitializeComponent()
25 | {
26 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UpdaterForm));
27 | this.progressBar1 = new System.Windows.Forms.ProgressBar();
28 | this.status = new System.Windows.Forms.Label();
29 | this.SuspendLayout();
30 | //
31 | // progressBar1
32 | //
33 | this.progressBar1.Location = new System.Drawing.Point(12, 64);
34 | this.progressBar1.Name = "progressBar1";
35 | this.progressBar1.Size = new System.Drawing.Size(306, 21);
36 | this.progressBar1.TabIndex = 0;
37 | //
38 | // status
39 | //
40 | this.status.Location = new System.Drawing.Point(12, 14);
41 | this.status.Name = "status";
42 | this.status.Size = new System.Drawing.Size(306, 40);
43 | this.status.TabIndex = 1;
44 | this.status.Text = "下载中……";
45 | this.status.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
46 | //
47 | // UpdaterForm
48 | //
49 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
50 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
51 | this.ClientSize = new System.Drawing.Size(334, 111);
52 | this.Controls.Add(this.status);
53 | this.Controls.Add(this.progressBar1);
54 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
55 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
56 | this.MaximizeBox = false;
57 | this.MinimizeBox = false;
58 | this.Name = "UpdaterForm";
59 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
60 | this.Text = "亲爱的Unity游戏MOD管理器更新程序";
61 | this.ResumeLayout(false);
62 |
63 | }
64 |
65 | #endregion
66 |
67 | private System.Windows.Forms.ProgressBar progressBar1;
68 | public System.Windows.Forms.Label status;
69 | }
70 | }
71 |
72 |
--------------------------------------------------------------------------------
/UnityModManager/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // 此代码由工具生成。
4 | // 运行时版本:4.0.30319.42000
5 | //
6 | // 对此文件的更改可能会导致不正确的行为,并且如果
7 | // 重新生成代码,这些更改将会丢失。
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace UnityModManagerNet.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// 一个强类型的资源类,用于查找本地化的字符串等。
17 | ///
18 | // 此类是由 StronglyTypedResourceBuilder
19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
20 | // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
21 | // (以 /str 作为命令选项),或重新生成 VS 项目。
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// 返回此类使用的缓存的 ResourceManager 实例。
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UnityModManagerNet.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// 重写当前线程的 CurrentUICulture 属性
51 | /// 重写当前线程的 CurrentUICulture 属性。
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// 查找类似 下载最新的英文版本 的本地化字符串。
65 | ///
66 | internal static string btnDownloadUpdate_Text {
67 | get {
68 | return ResourceManager.GetString("btnDownloadUpdate.Text", resourceCulture);
69 | }
70 | }
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/Updater/Updater.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {0EEC949D-BF5C-4F12-9743-0A635ABC8DE4}
5 | false
6 | WinExe
7 | 512
8 | net472
9 | latest
10 | UnityModManagerNet.Updater
11 | UnityModManagerNet.Updater.Program
12 | DUMM.ico
13 | DUMMUpdater
14 | true
15 | 1.0.0.0
16 | 1.0.0.0
17 | 1.0.0.0
18 | 1.0.0.0
19 | 李允
20 | Legend
21 | Copyright © Legend 2011-$([System.DateTime]::Now.ToString('yyyy'))
22 | 亲爱的Unity游戏MOD管理器更新程序
23 | $(Description)
24 |
25 |
26 | none
27 | false
28 |
29 |
30 |
31 | ..\lib\Ionic.Zip.dll
32 | False
33 |
34 |
35 | ..\lib\Newtonsoft.Json.dll
36 | false
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | Form.cs
47 |
48 |
49 | Form.cs
50 |
51 |
52 | ResXFileCodeGenerator
53 | Resources.Designer.cs
54 | Designer
55 |
56 |
57 | True
58 | Resources.resx
59 | True
60 |
61 |
62 |
63 | SettingsSingleFileGenerator
64 | Settings.Designer.cs
65 |
66 |
67 | True
68 | Settings.settings
69 | True
70 |
71 |
72 |
--------------------------------------------------------------------------------
/UnityModManagerApp/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // 此代码由工具生成。
4 | // 运行时版本:4.0.30319.42000
5 | //
6 | // 对此文件的更改可能会导致不正确的行为,并且如果
7 | // 重新生成代码,这些更改将会丢失。
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace UnityModManagerNet.Installer.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 |
26 | [global::System.Configuration.UserScopedSettingAttribute()]
27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
28 | [global::System.Configuration.DefaultSettingValueAttribute("微软雅黑, 9.75pt, style=Bold")]
29 | public global::System.Drawing.Font TitleFont {
30 | get {
31 | return ((global::System.Drawing.Font)(this["TitleFont"]));
32 | }
33 | set {
34 | this["TitleFont"] = value;
35 | }
36 | }
37 |
38 | [global::System.Configuration.UserScopedSettingAttribute()]
39 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
40 | [global::System.Configuration.DefaultSettingValueAttribute("微软雅黑, 14.25pt")]
41 | public global::System.Drawing.Font MenuFont {
42 | get {
43 | return ((global::System.Drawing.Font)(this["MenuFont"]));
44 | }
45 | set {
46 | this["MenuFont"] = value;
47 | }
48 | }
49 |
50 | [global::System.Configuration.UserScopedSettingAttribute()]
51 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
52 | [global::System.Configuration.DefaultSettingValueAttribute("微软雅黑, 15.75pt, style=Bold")]
53 | public global::System.Drawing.Font ButtonFont {
54 | get {
55 | return ((global::System.Drawing.Font)(this["ButtonFont"]));
56 | }
57 | set {
58 | this["ButtonFont"] = value;
59 | }
60 | }
61 |
62 | [global::System.Configuration.UserScopedSettingAttribute()]
63 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
64 | [global::System.Configuration.DefaultSettingValueAttribute("微软雅黑, 20.25pt, style=Bold")]
65 | public global::System.Drawing.Font SelectFont {
66 | get {
67 | return ((global::System.Drawing.Font)(this["SelectFont"]));
68 | }
69 | set {
70 | this["SelectFont"] = value;
71 | }
72 | }
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/UnityModManagerApp/DownloadMod.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace UnityModManagerNet.Installer
2 | {
3 | partial class DownloadMod
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DownloadMod));
32 | this.progressBar = new System.Windows.Forms.ProgressBar();
33 | this.status = new System.Windows.Forms.Label();
34 | this.SuspendLayout();
35 | //
36 | // progressBar
37 | //
38 | this.progressBar.Location = new System.Drawing.Point(12, 63);
39 | this.progressBar.Name = "progressBar";
40 | this.progressBar.Size = new System.Drawing.Size(310, 27);
41 | this.progressBar.TabIndex = 0;
42 | //
43 | // status
44 | //
45 | this.status.Location = new System.Drawing.Point(12, 10);
46 | this.status.Name = "status";
47 | this.status.RightToLeft = System.Windows.Forms.RightToLeft.No;
48 | this.status.Size = new System.Drawing.Size(310, 50);
49 | this.status.TabIndex = 1;
50 | this.status.Text = "下载中……";
51 | this.status.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
52 | //
53 | // DownloadMod
54 | //
55 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
56 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
57 | this.ClientSize = new System.Drawing.Size(334, 111);
58 | this.Controls.Add(this.status);
59 | this.Controls.Add(this.progressBar);
60 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
61 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
62 | this.MaximizeBox = false;
63 | this.MinimizeBox = false;
64 | this.Name = "DownloadMod";
65 | this.ShowInTaskbar = false;
66 | this.Text = "游戏MOD更新";
67 | this.TopMost = true;
68 | this.ResumeLayout(false);
69 |
70 | }
71 |
72 | #endregion
73 |
74 | private System.Windows.Forms.ProgressBar progressBar;
75 | private System.Windows.Forms.Label status;
76 | }
77 | }
--------------------------------------------------------------------------------
/UnityModManager/ModSettings.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Xml.Serialization;
4 |
5 | namespace UnityModManagerNet
6 | {
7 | public partial class UnityModManager
8 | {
9 | public class ModSettings
10 | {
11 | public virtual void Save(ModEntry modEntry)
12 | {
13 | Save(this, modEntry);
14 | }
15 |
16 | public virtual string GetPath(ModEntry modEntry)
17 | {
18 | return Path.Combine(modEntry.Path, "Settings.xml");
19 | }
20 |
21 | public static void Save(T data, ModEntry modEntry) where T : ModSettings, new()
22 | {
23 | Save(data, modEntry, null);
24 | }
25 |
26 | ///
27 | /// [0.20.0]
28 | ///
29 | public static void Save(T data, ModEntry modEntry, XmlAttributeOverrides attributes)
30 | where T : ModSettings, new()
31 | {
32 | var filepath = data.GetPath(modEntry);
33 | try
34 | {
35 | using var writer = new StreamWriter(filepath);
36 | var serializer = new XmlSerializer(typeof(T), attributes);
37 | serializer.Serialize(writer, data);
38 | }
39 | catch (Exception e)
40 | {
41 | modEntry.Logger.Error($"保存文件“{filepath}”失败!");
42 | modEntry.Logger.LogException(e);
43 | }
44 | }
45 |
46 | public static T Load(ModEntry modEntry) where T : ModSettings, new()
47 | {
48 | var t = new T();
49 | var filepath = t.GetPath(modEntry);
50 | if (!File.Exists(filepath)) return t;
51 | try
52 | {
53 | using var stream = File.OpenRead(filepath);
54 | var serializer = new XmlSerializer(typeof(T));
55 | var result = (T)serializer.Deserialize(stream);
56 | return result;
57 | }
58 | catch (Exception e)
59 | {
60 | modEntry.Logger.Error($"读取文件“{filepath}”失败!");
61 | modEntry.Logger.LogException(e);
62 | }
63 | return t;
64 | }
65 |
66 | public static T Load(ModEntry modEntry, XmlAttributeOverrides attributes) where T : ModSettings, new()
67 | {
68 | var t = new T();
69 | var filepath = t.GetPath(modEntry);
70 | if (!File.Exists(filepath)) return t;
71 | try
72 | {
73 | using var stream = File.OpenRead(filepath);
74 | var serializer = new XmlSerializer(typeof(T), attributes);
75 | var result = (T)serializer.Deserialize(stream);
76 | return result;
77 | }
78 | catch (Exception e)
79 | {
80 | modEntry.Logger.Error($"读取文件“{filepath}”失败!");
81 | modEntry.Logger.LogException(e);
82 | }
83 |
84 | return t;
85 | }
86 | }
87 | }
88 | }
--------------------------------------------------------------------------------
/Updater/Utils.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using System.Net.NetworkInformation;
4 | using System.Text.RegularExpressions;
5 |
6 | namespace UnityModManagerNet.Updater
7 | {
8 | internal static class Utils
9 | {
10 | private const string RepositoryUrl = "raw.githubusercontent.com";
11 | ///
12 | /// 执行内部命令(cmd.exe 中的命令)
13 | ///
14 | /// 命令行
15 | /// 执行结果
16 | public static string ExecuteInCmd(string cmd)
17 | {
18 | using var process = new Process
19 | {
20 | StartInfo =
21 | {
22 | FileName = "cmd.exe",
23 | UseShellExecute = false,
24 | RedirectStandardInput = true,
25 | RedirectStandardOutput = true,
26 | RedirectStandardError = true,
27 | CreateNoWindow = true
28 | }
29 | };
30 | process.Start();
31 | process.StandardInput.AutoFlush = true;
32 | process.StandardInput.WriteLine(cmd + "&exit");
33 | //获取cmd窗口的输出信息
34 | var output = process.StandardOutput.ReadToEnd();
35 | process.WaitForExit();
36 | process.Close();
37 | return output;
38 | }
39 | ///
40 | /// 执行外部命令
41 | ///
42 | /// 命令参数
43 | /// 命令程序路径
44 | /// 执行结果
45 | public static string ExecuteOutCmd(string param, string path)
46 | {
47 | using var process = new Process
48 | {
49 | StartInfo =
50 | {
51 | Arguments = param,
52 | FileName = path,
53 | UseShellExecute = false,
54 | RedirectStandardInput = true,
55 | RedirectStandardOutput = true,
56 | RedirectStandardError = true,
57 | CreateNoWindow = true
58 | }
59 | };
60 | process.Start();
61 | process.StandardInput.AutoFlush = true;
62 | process.StandardInput.WriteLine("exit");
63 | //获取cmd窗口的输出信息
64 | var output = process.StandardOutput.ReadToEnd();
65 | process.WaitForExit();
66 | process.Close();
67 | return output;
68 | }
69 |
70 | public static Version ParseVersion(string str)
71 | {
72 | var array = str.Split('.', ',');
73 | if (array.Length < 3) return new Version();
74 | var regex = new Regex(@"\D");
75 | return new Version(int.Parse(regex.Replace(array[0], "")), int.Parse(regex.Replace(array[1], "")), int.Parse(regex.Replace(array[2], "")));
76 | }
77 |
78 | public static bool HasNetworkConnection()
79 | {
80 | try
81 | {
82 | using var ping = new Ping();
83 | return ping.Send(RepositoryUrl, 3000)?.Status == IPStatus.Success;
84 | }
85 | catch
86 | {
87 | return false;
88 | }
89 | }
90 |
91 | public static bool IsUnixPlatform()
92 | {
93 | var p = (int)Environment.OSVersion.Platform;
94 | return (p == 4) || (p == 6) || (p == 128);
95 | }
96 | }
97 | }
98 |
--------------------------------------------------------------------------------
/UnityModManager/TextureReplacer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using TinyJson;
5 | using UnityEngine;
6 |
7 | namespace UnityModManagerNet
8 | {
9 | public partial class UnityModManager
10 | {
11 | internal class TextureReplacer
12 | {
13 | public class Skin
14 | {
15 | public struct conditions
16 | {
17 | public string MaterialName;
18 | public string ObjectName;
19 | public string ObjectComponent;
20 | public string Custom;
21 | [IgnoreJson] public bool IsEmpty => string.IsNullOrEmpty(MaterialName) && string.IsNullOrEmpty(ObjectName) && string.IsNullOrEmpty(ObjectComponent) && string.IsNullOrEmpty(Custom);
22 | }
23 | public class texture
24 | {
25 | public string Path;
26 | public Texture2D Texture;
27 | public Texture2D Previous;
28 | }
29 |
30 | [IgnoreJson] public ModEntry modEntry;
31 | public string Name;
32 | public string Tags;
33 | public conditions Conditions;
34 | [IgnoreJson] public Dictionary textures;
35 |
36 | public override string ToString()
37 | {
38 | return $"{Name} ({modEntry.Info.DisplayName})";
39 | }
40 |
41 | public void WriteFile(string filePath)
42 | {
43 | try
44 | {
45 | File.WriteAllText(filePath, JSONWriter.ToJson(this));
46 | }
47 | catch (Exception e)
48 | {
49 | Logger.Error(e.ToString());
50 | Logger.Error($"创建文件“{filePath}”失败!");
51 | }
52 | }
53 |
54 | public static Skin ReadFile(string filePath)
55 | {
56 | try
57 | {
58 | return JSONParser.FromJson(File.ReadAllText(filePath));
59 | }
60 | catch (Exception e)
61 | {
62 | Logger.Error(e.ToString());
63 | Logger.Error($"不能读取文件“{filePath}”!");
64 | return null;
65 | }
66 | }
67 |
68 | public static implicit operator bool(Skin exists)
69 | {
70 | return exists != null;
71 | }
72 |
73 | public bool Equals(Skin other)
74 | {
75 | return Name.Equals(other.Name) && modEntry.Info.Equals(other.modEntry.Info);
76 | }
77 |
78 | public override bool Equals(object obj)
79 | {
80 | if (ReferenceEquals(null, obj))
81 | {
82 | return false;
83 | }
84 | return obj is Skin skin && Equals(skin);
85 | }
86 |
87 | public override int GetHashCode()
88 | {
89 | return Name.GetHashCode() + modEntry.Info.GetHashCode();
90 | }
91 | }
92 |
93 | public static void Start()
94 | {
95 | }
96 | }
97 | }
98 | }
--------------------------------------------------------------------------------
/UnityModManagerTests/test.runsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | .\TestResults
7 |
8 |
9 |
10 | x64
11 |
12 |
13 | net472
14 |
15 |
16 | 10000
17 |
18 | 0
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | .*CPPUnitTestFramework.*
30 |
31 |
32 |
33 |
34 | True
35 | True
36 | True
37 | False
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 | test.html
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 | true
67 | false
68 | true
69 | false
70 | false
71 | true
72 |
73 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/UnityModManagerApp/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // 此代码由工具生成。
4 | // 运行时版本:4.0.30319.42000
5 | //
6 | // 对此文件的更改可能会导致不正确的行为,并且如果
7 | // 重新生成代码,这些更改将会丢失。
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace UnityModManagerNet.Installer.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// 一个强类型的资源类,用于查找本地化的字符串等。
17 | ///
18 | // 此类是由 StronglyTypedResourceBuilder
19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
20 | // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
21 | // (以 /str 作为命令选项),或重新生成 VS 项目。
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// 返回此类使用的缓存的 ResourceManager 实例。
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UnityModManagerNet.Installer.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// 重写当前线程的 CurrentUICulture 属性
51 | /// 重写当前线程的 CurrentUICulture 属性。
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// 查找类似 DUMMUpdater.exe 的本地化字符串。
65 | ///
66 | internal static string appUpdater {
67 | get {
68 | return ResourceManager.GetString("appUpdater", resourceCulture);
69 | }
70 | }
71 |
72 | ///
73 | /// 查找类似 去GitHub网站下载亲爱的Unity游戏MOD管理器源代码 的本地化字符串。
74 | ///
75 | internal static string btnDownloadUpdate {
76 | get {
77 | return ResourceManager.GetString("btnDownloadUpdate", resourceCulture);
78 | }
79 | }
80 |
81 | ///
82 | /// 查找 System.Drawing.Bitmap 类型的本地化资源。
83 | ///
84 | internal static System.Drawing.Bitmap dragdropfiles {
85 | get {
86 | object obj = ResourceManager.GetObject("dragdropfiles", resourceCulture);
87 | return ((System.Drawing.Bitmap)(obj));
88 | }
89 | }
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/lib/UnityModManagerConfigLocal.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Pathfinder: Kingmaker
5 | PathfinderKingmaker
6 | Pathfinder Kingmaker
7 | Mods
8 | Info.json
9 | Kingmaker.exe
10 | [UnityEngine.UIModule.dll]UnityEngine.Canvas.cctor:Before
11 | [Assembly-CSharp.dll]Kingmaker.GameStarter.Awake:Before
12 | [Assembly-CSharp.dll]Kingmaker.MainMenu.Start:After
13 | [Assembly-CSharp.dll]Kingmaker.GameStarter.Awake:Before
14 | [Assembly-CSharp.dll]Kingmaker.GameVersion.GetVersion
15 | 0.12.0
16 |
17 |
18 | Pathfinder: Wrath of the Righteous
19 | PathfinderWrathOfTheRighteous
20 | Pathfinder Wrath of the Righteous
21 | Mods
22 | Info.json
23 | Wrath.exe
24 | [UnityEngine.UIModule.dll]UnityEngine.Canvas.cctor:Before
25 | [Assembly-CSharp.dll]Kingmaker.GameStarter.Awake:Before
26 | [Assembly-CSharp.dll]Kingmaker.MainMenu.Start:After
27 | [Assembly-CSharp.dll]Kingmaker.GameVersion.GetVersion
28 | 0.22.15
29 |
30 |
31 | Pathfinder: Wrath of the Righteous
32 | PathfinderWrathOfTheRighteous
33 | Pathfinder Second Adventure
34 | Mods
35 | Info.json
36 | Wrath.exe
37 | [UnityEngine.UIModule.dll]UnityEngine.Canvas.cctor:Before
38 | [Assembly-CSharp.dll]Kingmaker.GameStarter.Awake:Before
39 | [Assembly-CSharp.dll]Kingmaker.MainMenu.Start:After
40 | [Assembly-CSharp.dll]Kingmaker.GameVersion.GetVersion
41 | 0.22.15
42 |
43 |
44 | Pillars of Eternity II: Deadfire
45 | Pillars of Eternity II Deadfire
46 | Mods
47 | Info.json
48 | PillarsOfEternityII.exe
49 | [UnityEngine.UI.dll]UnityEngine.Canvas.cctor:Before
50 | [Assembly-CSharp.dll]Game.GameState.Awake:After
51 | [Assembly-CSharp.dll]Game.UI.UIMainMenuManager.OnyxStart:After
52 | 0.22.3
53 |
54 |
55 | Solasta
56 | SolastaCrownOfTheMagister
57 | Solasta Crown of the Magister
58 | Mods
59 | Info.json
60 | Solasta.exe
61 | [UnityEngine.UIModule.dll]UnityEngine.Canvas.cctor:Before
62 | [Assembly-CSharp.dll]TacticalAdventuresApplication.Start:After
63 | 0.22.13
64 |
65 |
--------------------------------------------------------------------------------
/UnityModManager/Updates.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Net.NetworkInformation;
5 | using UnityEngine;
6 | using UnityEngine.Events;
7 | using UnityEngine.Networking;
8 |
9 | using Ping = System.Net.NetworkInformation.Ping;
10 |
11 | namespace UnityModManagerNet;
12 |
13 | public partial class UnityModManager
14 | {
15 | private const string RepositoryUrl = "www.nexusmods.com";
16 |
17 | private static void CheckModUpdates()
18 | {
19 | Logger.Log("正在检查MOD新版本……");
20 |
21 | if (!HasNetworkConnection())
22 | {
23 | Logger.Log("无法访问网站,请检查防火墙或代理设置!");
24 | return;
25 | }
26 |
27 | var urls = new HashSet();
28 |
29 | foreach (var modEntry in ModEntries)
30 | if (!string.IsNullOrEmpty(modEntry.Info.Repository))
31 | urls.Add(modEntry.Info.Repository);
32 |
33 | if (urls.Count <= 0) return;
34 | foreach (var url in urls)
35 | UI.Instance.StartCoroutine(unityVersion < new System.Version(5, 4)
36 | ? DownloadString_5_3(url, ParseRepository)
37 | : DownloadString(url, ParseRepository));
38 | }
39 |
40 | private static void ParseRepository(string json, string url)
41 | {
42 | if (string.IsNullOrEmpty(json)) return;
43 |
44 | try
45 | {
46 | var repository = TinyJson.JSONParser.FromJson(json);
47 | if (repository?.Releases == null || repository.Releases.Length <= 0) return;
48 | foreach (var release in repository.Releases)
49 | if (!string.IsNullOrEmpty(release.Id) && !string.IsNullOrEmpty(release.Version))
50 | {
51 | var modEntry = FindMod(release.Id);
52 | if (modEntry == null) continue;
53 | var ver = ParseVersion(release.Version);
54 | if (modEntry.Version < ver &&
55 | (modEntry.NewestVersion == null || modEntry.NewestVersion < ver))
56 | modEntry.NewestVersion = ver;
57 | }
58 | }
59 | catch (Exception e)
60 | {
61 | Logger.Log($"从网站“{url}”检查MOD新版本时发生了错误。");
62 | Logger.Log(e.Message);
63 | }
64 | }
65 |
66 | public static bool HasNetworkConnection()
67 | {
68 | try
69 | {
70 | using (var ping = new Ping())
71 | {
72 | return ping.Send(RepositoryUrl, 1000)?.Status == IPStatus.Success;
73 | }
74 | }
75 | catch (Exception e)
76 | {
77 | Console.WriteLine(e.Message);
78 | }
79 |
80 | return false;
81 | }
82 |
83 | private static IEnumerator DownloadString(string url, UnityAction handler)
84 | {
85 | var www = UnityWebRequest.Get(url);
86 | yield return www?.SendWebRequest();
87 |
88 | var ver = ParseVersion(Application.unityVersion);
89 | var isError = typeof(UnityWebRequest).GetMethod(ver.Major >= 2017 ? "get_isNetworkError" : "get_isError");
90 | if (isError == null || (bool)isError.Invoke(www, null))
91 | {
92 | Logger.Log(www?.error);
93 | Logger.Log($"Error downloading '{url}'.");
94 | yield break;
95 | }
96 |
97 | handler(www?.downloadHandler.text, url);
98 | }
99 |
100 | private static IEnumerator DownloadString_5_3(string url, UnityAction handler)
101 | {
102 | var www = new WWW(url);
103 | yield return www;
104 |
105 | if (!string.IsNullOrEmpty(www.error))
106 | {
107 | Logger.Log(www.error);
108 | Logger.Log($"从网站“{url}”检查MOD新版本时发生了错误。");
109 | yield break;
110 | }
111 |
112 | handler(www.text, url);
113 | }
114 | }
--------------------------------------------------------------------------------
/UnityModManagerApp/DownloadExtraFiles.cs:
--------------------------------------------------------------------------------
1 | using Ionic.Zip;
2 | using System;
3 | using System.IO;
4 | using System.Net;
5 | using System.Text;
6 | using System.Windows.Forms;
7 |
8 | namespace UnityModManagerNet.Installer
9 | {
10 | public partial class DownloadExtraFiles : Form
11 | {
12 | const string downloadFile = "ExtraFiles.zip";
13 | string gamePath;
14 |
15 | public DownloadExtraFiles()
16 | {
17 | InitializeComponent();
18 | }
19 |
20 | public DownloadExtraFiles(string url, string gamePath)
21 | {
22 | this.gamePath = gamePath;
23 | InitializeComponent();
24 | Start(url);
25 | }
26 |
27 | public void Start(string url)
28 | {
29 | if (string.IsNullOrEmpty(gamePath))
30 | {
31 | status.Text = "请选择游戏目录。";
32 | ConsoleInstaller.Log.Print(status.Text);
33 | return;
34 | }
35 |
36 | try
37 | {
38 | status.Text = "下载中……";
39 | ConsoleInstaller.Log.Print(status.Text);
40 | using var wc = new WebClient();
41 | wc.Encoding = Encoding.UTF8;
42 | wc.DownloadProgressChanged += Wc_DownloadProgressChanged;
43 | wc.DownloadFileCompleted += Wc_DownloadFileCompleted;
44 | wc.DownloadFileAsync(new Uri(url), downloadFile);
45 | }
46 | catch (Exception e)
47 | {
48 | status.Text = e.Message;
49 | }
50 | }
51 |
52 | private void Wc_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
53 | {
54 | progressBar1.Value = e.ProgressPercentage;
55 | }
56 |
57 | private void Wc_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
58 | {
59 | if (e.Error != null)
60 | {
61 | status.Text = e.Error.Message;
62 | ConsoleInstaller.Log.Print(e.Error.Message);
63 | return;
64 | }
65 | if (!e.Cancelled)
66 | {
67 | var success = false;
68 | try
69 | {
70 | using (var zip = ZipFile.Read(downloadFile))
71 | {
72 | foreach (var entry in zip.EntriesSorted)
73 | {
74 | if (entry.IsDirectory)
75 | {
76 | Directory.CreateDirectory(Path.Combine(gamePath, entry.FileName));
77 | }
78 | else
79 | {
80 | Directory.CreateDirectory(Path.GetDirectoryName(Path.Combine(gamePath, entry.FileName)));
81 | using FileStream fs = new FileStream(Path.Combine(gamePath, entry.FileName), FileMode.Create, FileAccess.Write);
82 | entry.Extract(fs);
83 | }
84 | }
85 | }
86 |
87 | status.Text = "下载完毕。";
88 | ConsoleInstaller.Log.Print(status.Text);
89 | success = true;
90 | }
91 | catch (Exception ex)
92 | {
93 | status.Text = ex.Message;
94 | ConsoleInstaller.Log.Print(ex.Message);
95 | }
96 |
97 | if (File.Exists(downloadFile))
98 | {
99 | File.Delete(downloadFile);
100 | }
101 |
102 | if (success)
103 | {
104 | DialogResult = DialogResult.OK;
105 | Close();
106 | }
107 | }
108 | }
109 | }
110 | }
111 |
--------------------------------------------------------------------------------
/UnityModManagerApp/tools/SteamHelper.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Win32;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.IO;
5 | using System.Linq;
6 | using System.Text.RegularExpressions;
7 |
8 | namespace UnityModManagerNet.Installer.Tools
9 | {
10 | ///
11 | /// Base on: https://stackoverflow.com/questions/54767662/finding-game-launcher-executables-in-directory-c-sharp
12 | ///
13 | public static class SteamHelper
14 | {
15 | private static ICollection RegistryKeys = new[] { "SOFTWARE\\Wow6432Node\\Valve\\", "SOFTWARE\\VALVE\\" };
16 | private static ICollection _steamGameDirs = new List();
17 |
18 | static SteamHelper()
19 | {
20 | if (!Utils.IsWindowsPlatform())
21 | {
22 | return;
23 | }
24 | UpdateSteamGameDirectories();
25 | }
26 |
27 | private static void UpdateSteamGameDirectories()
28 | {
29 | _steamGameDirs = RegistryKeys
30 | .Select(v => Registry.LocalMachine.OpenSubKey(v))
31 | .Where(registryKey => registryKey != null)
32 | .SelectMany(
33 | registryKey =>
34 | {
35 | using (registryKey)
36 | {
37 | return GetDirectories(registryKey).ToArray();
38 | }
39 | }
40 | )
41 | .Distinct()
42 | .ToList();
43 | }
44 |
45 | private static IEnumerable GetDirectories(RegistryKey registryKey)
46 | {
47 | foreach (var subKeyName in registryKey.GetSubKeyNames())
48 | {
49 | using (var subKey = registryKey.OpenSubKey(subKeyName))
50 | {
51 | if (subKey == null)
52 | {
53 | continue;
54 | }
55 |
56 | var installPath = subKey.GetValue("InstallPath");
57 | if (installPath == null)
58 | {
59 | continue;
60 | }
61 |
62 | var steamPath = installPath.ToString();
63 | var configPath = $"{steamPath}/steamapps/libraryfolders.vdf";
64 | const string driveRegex = @"[A-Z]:\\";
65 | if (!File.Exists(configPath))
66 | {
67 | continue;
68 | }
69 |
70 | var configLines = File.ReadAllLines(configPath);
71 | foreach (var item in configLines)
72 | {
73 | var match = Regex.Match(item, driveRegex);
74 | if (item == string.Empty || !match.Success)
75 | {
76 | continue;
77 | }
78 |
79 | var matched = match.ToString();
80 | var item2 = item.Substring(item.IndexOf(matched, StringComparison.Ordinal));
81 | item2 = item2.Replace("\\\\", "\\");
82 | item2 = item2.Replace("\"", "\\steamapps\\common\\");
83 | yield return item2;
84 | }
85 |
86 | yield return $"{steamPath}\\steamapps\\common\\";
87 | }
88 | }
89 | }
90 |
91 | public static IEnumerable GetGameDirectories(string gameFolderName)
92 | {
93 | return _steamGameDirs
94 | .Select(v => Path.Combine(v, gameFolderName))
95 | .Where(v => Directory.Exists(v));
96 | }
97 |
98 | public static string? GetGameDirectory(string gameFolderName)
99 | {
100 | return GetGameDirectories(gameFolderName).FirstOrDefault();
101 | }
102 | }
103 | }
--------------------------------------------------------------------------------
/UnityModManager/Config.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Xml.Serialization;
5 | using UnityEngine;
6 |
7 | namespace UnityModManagerNet;
8 |
9 | public partial class UnityModManager
10 | {
11 | public sealed class Param
12 | {
13 | [Serializable]
14 | public class Mod
15 | {
16 | [XmlAttribute]
17 | public string Id;
18 | [XmlAttribute]
19 | public bool Enabled = true;
20 | }
21 |
22 | public static KeyBinding DefaultHotkey = new() { keyCode = KeyCode.F10, modifiers = 1 };
23 | public static KeyBinding EscapeHotkey = new() { keyCode = KeyCode.Escape };
24 | public KeyBinding Hotkey = new();
25 | public int CheckUpdates = 1;
26 | public int ShowOnStart = 1;
27 | public float WindowWidth;
28 | public float WindowHeight;
29 | public float UIScale = 1f;
30 | public string UIFont;
31 | public List ModParams = new();
32 |
33 | private static readonly string Filepath = Path.Combine(Path.GetDirectoryName(typeof(Param).Assembly.Location) ?? string.Empty, "Params.xml");
34 |
35 | public void Save()
36 | {
37 | try
38 | {
39 | ModParams.Clear();
40 | foreach (var mod in ModEntries)
41 | {
42 | ModParams.Add(new Mod { Id = mod.Info.Id, Enabled = mod.Enabled });
43 | }
44 |
45 | using var writer = new StreamWriter(Filepath);
46 | var serializer = new XmlSerializer(typeof(Param));
47 | serializer.Serialize(writer, this);
48 | }
49 | catch (Exception e)
50 | {
51 | Logger.Error($"写入文件“{Filepath}”失败!");
52 | Debug.LogException(e);
53 | }
54 | }
55 |
56 | public static Param Load()
57 | {
58 | if (!File.Exists(Filepath)) return new Param();
59 | try
60 | {
61 | using var stream = File.OpenRead(Filepath);
62 | var serializer = new XmlSerializer(typeof(Param));
63 | var result = serializer.Deserialize(stream) as Param;
64 |
65 | return result;
66 | }
67 | catch (Exception e)
68 | {
69 | Logger.Error($"读取文件“{Filepath}”失败!");
70 | Debug.LogException(e);
71 | }
72 | return new Param();
73 | }
74 |
75 | internal void ReadModParams()
76 | {
77 | foreach (var item in ModParams)
78 | {
79 | var mod = FindMod(item.Id);
80 | if (mod != null)
81 | {
82 | mod.Enabled = item.Enabled;
83 | }
84 | }
85 | }
86 | }
87 |
88 | [XmlRoot("Config")]
89 | public class GameInfo
90 | {
91 | [XmlAttribute]
92 | public string Name;
93 | public string Folder;
94 | public string ModsDirectory;
95 | public string ModInfo;
96 | public string EntryPoint;
97 | public string StartingPoint;
98 | public string UIStartingPoint;
99 | public string TextureReplacingPoint;
100 | public string SessionStartPoint;
101 | public string SessionStopPoint;
102 | public string GameExe;
103 | public string GameName;
104 | public string GameVersionPoint;
105 | public string GameScriptName;
106 | public string OldPatchTarget;
107 | public string Comment;
108 | public string FixBlackUI;
109 | public string MinimalManagerVersion;
110 | public string ExtraFilesUrl;
111 |
112 | private static readonly string Filepath = Path.Combine(Path.GetDirectoryName(typeof(GameInfo).Assembly.Location) ?? string.Empty, "Config.xml");
113 |
114 | public static GameInfo Load()
115 | {
116 | try
117 | {
118 | using var stream = File.OpenRead(Filepath);
119 | return new XmlSerializer(typeof(GameInfo)).Deserialize(stream) as GameInfo;
120 | }
121 | catch (Exception e)
122 | {
123 | Logger.Error($"读取文件“{Filepath}”失败!");
124 | Debug.LogException(e);
125 | return null;
126 | }
127 | }
128 | }
129 | }
--------------------------------------------------------------------------------
/UnityModManager/UI/Utils/AutoSizeFormControlUtil.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Drawing;
4 | using System.Windows.Forms;
5 |
6 | namespace UnityModManagerNet.UI.Utils;
7 |
8 | public sealed class AutoSizeFormControlUtil
9 | {
10 | private readonly Stack _controlsCache;
11 | private readonly Dictionary _controlsInfo;//控件中心Left,Top,控件Width,控件Height,控件字体Size
12 | private double _scaleX;//水平缩放比例
13 | private double _scaleY;//垂直缩放比例
14 | private readonly double _formOriginalWidth;//窗体原始宽度
15 | private readonly double _formOriginalHeight;//窗体原始高度
16 | private readonly int _captionHeight;
17 | private readonly int _borderSize;
18 | private readonly int _screenHeight;
19 | private readonly int _screenWidth;
20 | private readonly Form _form;
21 |
22 | public AutoSizeFormControlUtil(Form form)
23 | {
24 | _form = form;
25 | _formOriginalWidth = Convert.ToDouble(_form.ClientSize.Width);
26 | _formOriginalHeight = Convert.ToDouble(_form.ClientSize.Height);
27 | _captionHeight = SystemInformation.CaptionHeight;
28 | _borderSize = SystemInformation.HorizontalResizeBorderThickness * 2;
29 | _screenHeight = Screen.PrimaryScreen.Bounds.Height;
30 | _screenWidth = Screen.PrimaryScreen.Bounds.Width;
31 | _controlsCache = new Stack();
32 | _controlsInfo = new Dictionary();
33 | }
34 | ///
35 | /// panel 控件
36 | ///
37 | public void RefreshControlsInfo(Control control)
38 | {
39 | ClearCaches();
40 | _RefreshControlsInfo(control);
41 | }
42 |
43 | public void FormSizeChanged()
44 | {
45 | if (_controlsInfo.Count <= 0) return;
46 | var width = Convert.ToDouble(_form.ClientSize.Width);//表示panel控件
47 | var height = Convert.ToDouble(_form.ClientSize.Height);
48 | if (_screenWidth == _form.ClientSize.Width)
49 | width += _borderSize;
50 | if (_screenHeight - _captionHeight == _form.ClientSize.Height)
51 | height += _borderSize + _captionHeight;
52 | _scaleX = width / _formOriginalWidth;
53 | _scaleY = height / _formOriginalHeight;
54 | if (0 < _scaleX * _scaleY)
55 | ControlsChange();
56 | }
57 |
58 | private void _RefreshControlsInfo(Control control)
59 | {
60 | var controls = new Stack();
61 | foreach (Control item in control.Controls)
62 | controls.Push(item);
63 | while (0 < controls.Count)
64 | {
65 | var parent = controls.Pop();
66 | foreach (Control child in parent.Controls)
67 | {
68 | if (0 < child.Controls.Count)
69 | controls.Push(child);
70 | CacheControl(child);
71 | }
72 | }
73 | }
74 |
75 | private void CacheControl(Control control)
76 | {
77 | var name = control.Name.Trim();
78 | if (string.IsNullOrEmpty(name) || DockStyle.None != control.Dock) return;
79 | //添加信息:键值:控件名,内容:据左边距离,距顶部距离,控件宽度,控件高度,控件字体。
80 | _controlsInfo[name] = (control.Left + control.Width / 2) + "," + (control.Top + control.Height / 2) + "," + control.Width + "," + control.Height + "," + control.Font.Size;
81 | _controlsCache.Push(control);
82 | }
83 | ///
84 | /// 改变控件大小
85 | ///
86 | private void ControlsChange()
87 | {
88 | var pos = new double[5];//pos数组保存当前控件中心Left,Top,控件Width,控件Height,控件字体Size
89 | foreach (var item in _controlsCache)//遍历控件
90 | {
91 | var name = item.Name.Trim();
92 | var values = _controlsInfo[name].Split(',');//从字典中查出的数据,以‘,’分割成字符串组
93 | for (var i = 0; i < 5; i++)
94 | pos[i] = Convert.ToDouble(values[i]);//添加到临时数组
95 | var itemWidth = pos[2] * _scaleX; //计算控件宽度,double类型
96 | var itemHeight = pos[3] * _scaleY; //计算控件高度
97 | item.Left = Convert.ToInt32(pos[0] * _scaleX - itemWidth / 2);//计算控件距离左边距离
98 | item.Top = Convert.ToInt32(pos[1] * _scaleY - itemHeight / 2);//计算控件距离顶部距离
99 | item.Width = Convert.ToInt32(itemWidth);//控件宽度,int类型
100 | item.Height = Convert.ToInt32(itemHeight);//控件高度
101 | var size = float.Parse((pos[4] * Math.Min(_scaleX, _scaleY)).ToString());
102 | if (Math.Abs(size - item.Font.Size) > 0)
103 | item.Font = new Font(item.Font.Name, size, item.Font.Style);//字体
104 | }
105 | }
106 |
107 | private void ClearCaches()
108 | {
109 | _controlsCache.Clear();
110 | _controlsInfo.Clear();
111 | }
112 | }
--------------------------------------------------------------------------------
/DearUnityModManager.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.4.33122.133
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Updater", "Updater\Updater.csproj", "{0EEC949D-BF5C-4F12-9743-0A635ABC8DE4}"
7 | EndProject
8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnityModManagerApp", "UnityModManagerApp\UnityModManagerApp.csproj", "{6E8F8B45-2A2D-4E5A-8573-3559337E68F3}"
9 | ProjectSection(ProjectDependencies) = postProject
10 | {A1FCAE3E-523E-4E33-8860-DD39DDDF0F62} = {A1FCAE3E-523E-4E33-8860-DD39DDDF0F62}
11 | {0EEC949D-BF5C-4F12-9743-0A635ABC8DE4} = {0EEC949D-BF5C-4F12-9743-0A635ABC8DE4}
12 | EndProjectSection
13 | EndProject
14 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnityModManager", "UnityModManager\UnityModManager.csproj", "{A1FCAE3E-523E-4E33-8860-DD39DDDF0F62}"
15 | EndProject
16 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnityModManagerTests", "UnityModManagerTests\UnityModManagerTests.csproj", "{E953E4AD-49FD-4BD8-AFD0-5EDA98DC10C1}"
17 | EndProject
18 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Configs", "Configs", "{0172C731-5E28-464A-8B8B-9199A6F2F17A}"
19 | ProjectSection(SolutionItems) = preProject
20 | README.md = README.md
21 | ReferenceLibs.props = ReferenceLibs.props
22 | ReferenceLibs_Assembly.props = ReferenceLibs_Assembly.props
23 | ReferenceLibs_Unity2018.props = ReferenceLibs_Unity2018.props
24 | ReferenceLibs_Unity2019.props = ReferenceLibs_Unity2019.props
25 | ReferenceLibs_Unity2021.props = ReferenceLibs_Unity2021.props
26 | Repository.json = Repository.json
27 | EndProjectSection
28 | ProjectSection(FolderGlobals) = preProject
29 | E_5_4Decompile_4Code_4src_4Dear-Unity-Mod-Manager_4Repository_1json__JsonSchema = http://json.schemastore.org/appveyor
30 | EndProjectSection
31 | EndProject
32 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lib", "lib", "{26ABE49E-2A2F-4115-8425-9BAEE6E153A4}"
33 | ProjectSection(SolutionItems) = preProject
34 | lib\0Harmony-1.2.dll = lib\0Harmony-1.2.dll
35 | lib\0Harmony.dll = lib\0Harmony.dll
36 | lib\0Harmony12.dll = lib\0Harmony12.dll
37 | lib\background.jpg = lib\background.jpg
38 | lib\dnlib.dll = lib\dnlib.dll
39 | lib\Ionic.Zip.dll = lib\Ionic.Zip.dll
40 | lib\IrisSkin4.dll = lib\IrisSkin4.dll
41 | lib\Newtonsoft.Json.dll = lib\Newtonsoft.Json.dll
42 | lib\System.Xml.dll = lib\System.Xml.dll
43 | lib\UnityModManagerConfig.xml = lib\UnityModManagerConfig.xml
44 | lib\UnityModManagerConfigLocal.xml = lib\UnityModManagerConfigLocal.xml
45 | lib\winhttp.dll = lib\winhttp.dll
46 | EndProjectSection
47 | EndProject
48 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Console", "Console\Console.csproj", "{7151CE06-904E-485D-8BC3-A7174A9D5D29}"
49 | EndProject
50 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Assembly", "Assembly", "{7F920459-28E6-444D-8135-CE18911A38B9}"
51 | ProjectSection(SolutionItems) = preProject
52 | lib\Assembly\Assembly-CSharp-PathfinderKingmaker.dll = lib\Assembly\Assembly-CSharp-PathfinderKingmaker.dll
53 | lib\Assembly\Assembly-CSharp-PathfinderWrathOfTheRighteous.dll = lib\Assembly\Assembly-CSharp-PathfinderWrathOfTheRighteous.dll
54 | lib\Assembly\Assembly-CSharp-SolastaCrownOfTheMagister.dll = lib\Assembly\Assembly-CSharp-SolastaCrownOfTheMagister.dll
55 | EndProjectSection
56 | EndProject
57 | Global
58 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
59 | Debug|Any CPU = Debug|Any CPU
60 | Release|Any CPU = Release|Any CPU
61 | EndGlobalSection
62 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
63 | {0EEC949D-BF5C-4F12-9743-0A635ABC8DE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
64 | {0EEC949D-BF5C-4F12-9743-0A635ABC8DE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
65 | {0EEC949D-BF5C-4F12-9743-0A635ABC8DE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
66 | {0EEC949D-BF5C-4F12-9743-0A635ABC8DE4}.Release|Any CPU.Build.0 = Release|Any CPU
67 | {6E8F8B45-2A2D-4E5A-8573-3559337E68F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
68 | {6E8F8B45-2A2D-4E5A-8573-3559337E68F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
69 | {6E8F8B45-2A2D-4E5A-8573-3559337E68F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
70 | {6E8F8B45-2A2D-4E5A-8573-3559337E68F3}.Release|Any CPU.Build.0 = Release|Any CPU
71 | {A1FCAE3E-523E-4E33-8860-DD39DDDF0F62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
72 | {A1FCAE3E-523E-4E33-8860-DD39DDDF0F62}.Debug|Any CPU.Build.0 = Debug|Any CPU
73 | {A1FCAE3E-523E-4E33-8860-DD39DDDF0F62}.Release|Any CPU.ActiveCfg = Release|Any CPU
74 | {A1FCAE3E-523E-4E33-8860-DD39DDDF0F62}.Release|Any CPU.Build.0 = Release|Any CPU
75 | {E953E4AD-49FD-4BD8-AFD0-5EDA98DC10C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
76 | {E953E4AD-49FD-4BD8-AFD0-5EDA98DC10C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
77 | {7151CE06-904E-485D-8BC3-A7174A9D5D29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
78 | {7151CE06-904E-485D-8BC3-A7174A9D5D29}.Debug|Any CPU.Build.0 = Debug|Any CPU
79 | {7151CE06-904E-485D-8BC3-A7174A9D5D29}.Release|Any CPU.ActiveCfg = Release|Any CPU
80 | {7151CE06-904E-485D-8BC3-A7174A9D5D29}.Release|Any CPU.Build.0 = Release|Any CPU
81 | EndGlobalSection
82 | GlobalSection(SolutionProperties) = preSolution
83 | HideSolutionNode = FALSE
84 | EndGlobalSection
85 | GlobalSection(NestedProjects) = preSolution
86 | {7F920459-28E6-444D-8135-CE18911A38B9} = {26ABE49E-2A2F-4115-8425-9BAEE6E153A4}
87 | EndGlobalSection
88 | GlobalSection(ExtensibilityGlobals) = postSolution
89 | SolutionGuid = {96EBF082-C7A9-4780-B27A-EC4A0AEB90D7}
90 | EndGlobalSection
91 | EndGlobal
92 |
--------------------------------------------------------------------------------
/UnityModManagerApp/UnityModManagerApp.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {6E8F8B45-2A2D-4E5A-8573-3559337E68F3}
6 | false
7 | WinExe
8 | 512
9 | net472
10 | latest
11 | UnityModManagerNet.Installer
12 | UnityModManagerNet.Installer.Program
13 | DUMM.ico
14 | DearUnityModManager
15 | true
16 | 1.0.0.0
17 | 1.0.0.0
18 | 1.0.0.0
19 | 1.0.0.0
20 | 李允
21 | Legend
22 | Copyright © Legend 2011-$([System.DateTime]::Now.ToString('yyyy'))
23 | 亲爱的Unity游戏MOD管理器
24 | $(Description)
25 |
26 |
27 | none
28 | false
29 |
30 |
31 |
32 | ..\lib\0Harmony.dll
33 |
34 |
35 | ..\lib\0Harmony-1.2.dll
36 |
37 |
38 | ..\lib\0Harmony12.dll
39 |
40 |
41 | ..\lib\dnlib.dll
42 |
43 |
44 | ..\lib\Ionic.Zip.dll
45 |
46 |
47 | ..\lib\IrisSkin4.dll
48 |
49 |
50 | ..\lib\Newtonsoft.Json.dll
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 | DownloadExtraFiles.cs
63 |
64 |
65 |
66 | DownloadMod.cs
67 |
68 |
69 |
70 | Form.cs
71 |
72 |
73 |
74 |
75 | DownloadExtraFiles.cs
76 |
77 |
78 | DownloadMod.cs
79 |
80 |
81 | Form.cs
82 |
83 |
84 | ResXFileCodeGenerator
85 | Resources.Designer.cs
86 | Designer
87 |
88 |
89 | True
90 | Resources.resx
91 | True
92 |
93 |
94 |
95 | SettingsSingleFileGenerator
96 | Settings.Designer.cs
97 |
98 |
99 | True
100 | Settings.settings
101 | True
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 | D:\games\native\release\game\file -dd!~ . "$(TargetDir)\"
112 | D:\games\native\release\game\file "-cd!^~" "(?i)(unity\d+|assembly)$" "$(SolutionDir)lib" "$(TargetDir)\"
113 |
114 |
115 | D:\games\native\release\game\file -dd!~ . "$(TargetDir)\"
116 | D:\games\native\release\game\file "-cd!^~::-m!~" "(?i)(unity\d+|assembly)$::." "$(SolutionDir)lib::$(TargetDir)\" "$(TargetDir)$(TargetName)::*" "?::1"
117 |
118 |
--------------------------------------------------------------------------------
/Updater/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/UnityModManagerApp/Updates.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Net;
7 | using System.Net.NetworkInformation;
8 | using System.Windows.Forms;
9 | using UnityModManagerNet.ConsoleInstaller;
10 |
11 | namespace UnityModManagerNet.Installer
12 | {
13 | public partial class UnityModManagerForm
14 | {
15 | private readonly Dictionary> _repositories = new();
16 | private const string RepositoryUrl = "raw.githubusercontent.com";
17 |
18 | private void CheckModUpdates()
19 | {
20 | if (selectedGame == null || !HasNetworkConnection()) return;
21 |
22 | if (!_repositories.ContainsKey(selectedGame))
23 | _repositories.Add(selectedGame, new HashSet());
24 |
25 | var urls = new HashSet();
26 | foreach (var mod in _mods.Where(mod => !string.IsNullOrEmpty(mod.Repository)))
27 | {
28 | urls.Add(mod.Repository);
29 | }
30 |
31 | if (urls.Count <= 0) return;
32 | foreach (var url in urls)
33 | {
34 | try
35 | {
36 | using var wc = new WebClient {Encoding = System.Text.Encoding.UTF8};
37 | wc.DownloadStringCompleted += (sender, e) => { ModUpdates_DownloadStringCompleted(sender, e, selectedGame, url); };
38 | wc.DownloadStringAsync(new Uri(url));
39 | }
40 | catch (Exception e)
41 | {
42 | ConsoleInstaller.Log.Print(e.Message);
43 | ConsoleInstaller.Log.Print($"从网站“{url}”检查MOD新版本失败!");
44 | }
45 | }
46 | }
47 |
48 | private void ModUpdates_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e, GameInfo game, string url)
49 | {
50 | if (e.Error != null)
51 | {
52 | ConsoleInstaller.Log.Print(e.Error.Message);
53 | return;
54 | }
55 |
56 | if (e.Cancelled || string.IsNullOrEmpty(e.Result) || !_repositories.ContainsKey(game)) return;
57 | try
58 | {
59 | var repository = JsonConvert.DeserializeObject(e.Result);
60 | if (repository == null || repository.Releases == null || repository.Releases.Length == 0)
61 | return;
62 |
63 | listMods.Invoke((MethodInvoker)delegate
64 | {
65 | foreach (var v in repository.Releases)
66 | {
67 | _repositories[game].Add(v);
68 | }
69 | if (selectedGame == game)
70 | RefreshModList();
71 | });
72 | }
73 | catch (Exception ex)
74 | {
75 | ConsoleInstaller.Log.Print(ex.Message);
76 | ConsoleInstaller.Log.Print($"从网站“{url}”检查MOD新版本失败!");
77 | }
78 | }
79 |
80 | private void CheckLastVersion()
81 | {
82 | if (string.IsNullOrEmpty(config.Repository))
83 | return;
84 |
85 | ConsoleInstaller.Log.Print("正在检查MOD管理器的新版本……");
86 |
87 | if (!HasNetworkConnection())
88 | {
89 | ConsoleInstaller.Log.Print("无法访问网站,请检查防火墙或代理设置!");
90 | return;
91 | }
92 |
93 | try
94 | {
95 | using var wc = new WebClient {Encoding = System.Text.Encoding.UTF8};
96 | wc.DownloadStringCompleted += LastVersion_DownloadStringCompleted;
97 | wc.DownloadStringAsync(new Uri(config.Repository));
98 | }
99 | catch (Exception e)
100 | {
101 | ConsoleInstaller.Log.Print(e.Message);
102 | ConsoleInstaller.Log.Print($"下载MOD新版本失败!");
103 | }
104 | }
105 |
106 | private void LastVersion_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
107 | {
108 | if (e.Error != null)
109 | {
110 | ConsoleInstaller.Log.Print(e.Error.Message);
111 | return;
112 | }
113 |
114 | if (e.Cancelled || string.IsNullOrEmpty(e.Result)) return;
115 | try
116 | {
117 | var repository = JsonConvert.DeserializeObject(e.Result);
118 | if (repository?.Releases == null || repository.Releases.Length == 0) return;
119 |
120 | var release = repository.Releases.FirstOrDefault(x => x.Id == nameof(UnityModManager));
121 | if (release == null || string.IsNullOrEmpty(release.Version)) return;
122 |
123 | var ver = ConsoleInstaller.Utils.ParseVersion(release.Version);
124 | if (version < ver)
125 | {
126 | btnDownloadUpdate.Text = $@"下载V{release.Version}";
127 | ConsoleInstaller.Log.Print($"有可用的新版本。");
128 | }
129 | else ConsoleInstaller.Log.Print($"没有可用的新版本。");
130 | }
131 | catch (Exception ex)
132 | {
133 | ConsoleInstaller.Log.Print(ex.Message);
134 | ConsoleInstaller.Log.Print($"检查MOD新版本时出错!");
135 | }
136 | }
137 |
138 | public static bool HasNetworkConnection()
139 | {
140 | try
141 | {
142 | using var ping = new Ping();
143 | var reply = ping.Send(RepositoryUrl, 3000);
144 | return reply?.Status == IPStatus.Success;
145 | }
146 | catch (Exception e)
147 | {
148 | ConsoleInstaller.Log.Print(e.Message);
149 | }
150 |
151 | return false;
152 | }
153 | }
154 | }
--------------------------------------------------------------------------------
/UnityModManager/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 下载最新的英文版本
122 |
123 |
--------------------------------------------------------------------------------
/UnityModManagerApp/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | DUMMUpdater.exe
122 |
123 |
124 | 去GitHub网站下载亲爱的Unity游戏MOD管理器源代码
125 |
126 |
127 |
128 | ..\images\dragdropfiles.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
129 |
130 |
--------------------------------------------------------------------------------
/UnityModManager/Window_GUI.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace UnityModManagerNet
6 | {
7 | public partial class UnityModManager
8 | {
9 | public partial class UI
10 | {
11 | internal class WindowParams
12 | {
13 | public int? Width { get; set; }
14 | public int? Height { get; set; }
15 | }
16 |
17 | internal class Window_GUI
18 | {
19 | internal static readonly List mList = new List();
20 | internal readonly HashSet mDestroyCounter = new HashSet();
21 |
22 | private const int MARGIN = 50;
23 |
24 | private int mId;
25 | private Rect mWindowRect;
26 | private Vector2 mScrollPosition;
27 | private int mWidth;
28 | private int mHeight;
29 | private int mRecalculateFrame;
30 |
31 | private bool Recalculating
32 | {
33 | get { return mRecalculateFrame == Time.frameCount; }
34 | }
35 |
36 | private bool mOpened;
37 | public bool Opened
38 | {
39 | get { return mOpened; }
40 | internal set
41 | {
42 | mOpened = value;
43 | if (value)
44 | {
45 | Reset();
46 | }
47 | }
48 | }
49 |
50 | public WindowParams Params { get; internal set; }
51 |
52 | internal string title;
53 | internal int unique;
54 | internal Action onGui;
55 | internal Action onClose;
56 |
57 | public Window_GUI(Action onGui, Action onClose, string title, int unique, WindowParams @params = null)
58 | {
59 | mId = GetNextWindowId();
60 | mList.Add(this);
61 | this.onGui = onGui;
62 | this.onClose = onClose;
63 | this.unique = unique;
64 | this.title = title;
65 | Params = @params ?? new WindowParams();
66 | }
67 |
68 | public void Render()
69 | {
70 | if (Recalculating)
71 | {
72 | mWindowRect = GUILayout.Window(mId, mWindowRect, WindowFunction, "", window);
73 | if (mWindowRect.width > 0)
74 | {
75 | mWidth = (int)(Math.Min(Params.Width ?? mWindowRect.width, Screen.width - MARGIN * 2));
76 | mHeight = (int)(Math.Min(Params.Height ?? mWindowRect.height, Screen.height - MARGIN * 2));
77 | mWindowRect.x = (int)(Math.Max(Screen.width - mWidth, 0) / 2);
78 | mWindowRect.y = (int)(Math.Max(Screen.height - mHeight, 0) / 2);
79 | }
80 | }
81 | else
82 | {
83 | mWindowRect = GUILayout.Window(mId, mWindowRect, WindowFunction, "", window, GUILayout.Width(mWidth), GUILayout.Height(mHeight + 10));
84 | GUI.BringWindowToFront(mId);
85 | }
86 | }
87 |
88 | private void WindowFunction(int windowId)
89 | {
90 | if (title != null)
91 | GUILayout.Label(title, h1);
92 | if (!Recalculating)
93 | mScrollPosition = GUILayout.BeginScrollView(mScrollPosition);
94 | onGui.Invoke(this);
95 | if (!Recalculating)
96 | GUILayout.EndScrollView();
97 | //if (GUILayout.Button("Close", button))
98 | // Opened = false;
99 | }
100 |
101 | internal void Reset()
102 | {
103 | mRecalculateFrame = Time.frameCount;
104 | mWindowRect = new Rect(-9000, 0, 0, 0);
105 | }
106 |
107 | ///
108 | /// []
109 | ///
110 | public void Close()
111 | {
112 | if (!Opened) return;
113 |
114 | Opened = false;
115 |
116 | if (onClose != null)
117 | {
118 | try
119 | {
120 | onClose();
121 | }
122 | catch (Exception e)
123 | {
124 | Logger.Error("Window.OnClose: " + e.GetType() + " - " + e.Message);
125 | Console.WriteLine(e.ToString());
126 | }
127 | }
128 | }
129 | }
130 |
131 | ///
132 | /// Creates and displays window. Caches by title or unique. (deferred) []
133 | ///
134 | internal static void ShowWindow(Action onGui, string title, int unique, WindowParams windowParams = null)
135 | {
136 | ShowWindow(onGui, null, title, unique, windowParams);
137 | }
138 |
139 | ///
140 | /// Creates and displays window. Caches by title or unique saving window parameters. (deferred) []
141 | ///
142 | internal static void ShowWindow(Action onGui, Action onClose, string title, int unique, WindowParams windowParams = null)
143 | {
144 | if (onGui == null)
145 | {
146 | throw new ArgumentNullException("onGui");
147 | }
148 |
149 | Window_GUI obj = null;
150 | foreach (var item in Window_GUI.mList)
151 | {
152 | if (unique == 0 && item.title == title || unique != 0 && item.unique == unique)
153 | {
154 | item.Close();
155 | obj = item;
156 | obj.title = title;
157 | obj.onGui = onGui;
158 | obj.onClose = onClose;
159 | break;
160 | }
161 | }
162 | if (obj == null)
163 | {
164 | obj = new Window_GUI(onGui, onClose, title, unique, windowParams);
165 | }
166 | obj.Opened = true;
167 | }
168 | }
169 | }
170 | }
--------------------------------------------------------------------------------