diff --git a/OCDheim/OCDheim.cs b/OCDheim/OCDheim.cs index ddd031e..979dbe6 100755 --- a/OCDheim/OCDheim.cs +++ b/OCDheim/OCDheim.cs @@ -10,7 +10,7 @@ namespace OCDheim { [BepInDependency(Jotunn.Main.ModGuid)] - [BepInPlugin("dymek.dev.OCDheim", "OCDheim", "0.1.2")] + [BepInPlugin("dymek.dev.OCDheim", "OCDheim", "0.1.3")] [NetworkCompatibility(CompatibilityLevel.EveryoneMustHaveMod, VersionStrictness.Minor)] public class OCDheim : BaseUnityPlugin { @@ -41,6 +41,10 @@ private void AddOCDheimToolPieces() private void AddToolPiece(string pieceName, string basePieceName, string pieceTable, Texture2D iconTexture, bool level = false, bool raise = false, bool smooth = false, bool paint = false) where TOverlayVisualizer: OverlayVisualizer { + var pieceExists = PieceManager.Instance.GetPiece(pieceName) != null; + if (pieceExists) + return; + var pieceIcon = Sprite.Create(iconTexture, new Rect(0, 0, iconTexture.width, iconTexture.height), Vector2.zero); var piece = new CustomPiece(pieceName, basePieceName, new PieceConfig { @@ -56,6 +60,8 @@ private void AddToolPiece(string pieceName, string basePiece settings.m_paintCleared = paint; piece.PiecePrefab.AddComponent(); + + PieceManager.Instance.AddPiece(piece); } @@ -71,6 +77,10 @@ private void AddOCDheimBuildPieces() private void AddBrickBuildPiece(string brickSuffix, Vector3 brickScale, int brickPrice, Texture2D iconTexture) { + var pieceExists = PieceManager.Instance.GetPiece($"stone_floor_{brickSuffix}") != null; + if (pieceExists) + return; + var brick = PrefabManager.Instance.CreateClonedPrefab($"stone_floor_{brickSuffix}", "stone_floor_2x2"); var brickIcon = Sprite.Create(iconTexture, new Rect(0, 0, iconTexture.width, iconTexture.height), Vector2.zero); brick.transform.localScale = brickScale; diff --git a/OCDheim/OCDheim.csproj b/OCDheim/OCDheim.csproj index 6d51f5a..68ea83d 100755 --- a/OCDheim/OCDheim.csproj +++ b/OCDheim/OCDheim.csproj @@ -1,6 +1,6 @@  - + Debug AnyCPU @@ -45,32 +45,20 @@ $(VALHEIM_INSTALL) - - ..\packages\HarmonyX.2.10.1\lib\net45\0Harmony.dll + + ..\..\VapokModBase\References\BepInEx\5.4.2103\BepInEx\core\0Harmony.dll - - ..\packages\JotunnLib.2.10.0\lib\net462\Jotunn.dll + + ..\..\VapokModBase\References\Valheim\0.216.9\assembly_utils_publicized.dll - - ..\packages\Mono.Cecil.0.11.4\lib\net40\Mono.Cecil.dll + + ..\..\VapokModBase\References\Valheim\0.216.9\assembly_valheim_publicized.dll - - ..\packages\Mono.Cecil.0.11.4\lib\net40\Mono.Cecil.Mdb.dll + + ..\..\VapokModBase\References\BepInEx\5.4.2103\BepInEx\core\BepInEx.dll - - ..\packages\Mono.Cecil.0.11.4\lib\net40\Mono.Cecil.Pdb.dll - - - ..\packages\Mono.Cecil.0.11.4\lib\net40\Mono.Cecil.Rocks.dll - - - ..\packages\MonoMod.22.5.1.1\lib\net452\MonoMod.exe - - - ..\packages\MonoMod.RuntimeDetour.22.5.1.1\lib\net452\MonoMod.RuntimeDetour.dll - - - ..\packages\MonoMod.Utils.22.5.1.1\lib\net452\MonoMod.Utils.dll + + ..\packages\JotunnLib.2.12.1\lib\net462\Jotunn.dll @@ -79,6 +67,33 @@ + + ..\..\VapokModBase\References\Valheim\0.216.9\ui_lib_publicized.dll + + + ..\..\VapokModBase\References\BepInEx\5.4.2103\unstripped_corlib\UnityEngine.dll + + + ..\..\VapokModBase\References\BepInEx\5.4.2103\unstripped_corlib\UnityEngine.AssetBundleModule.dll + + + ..\..\VapokModBase\References\BepInEx\5.4.2103\unstripped_corlib\UnityEngine.CoreModule.dll + + + ..\..\VapokModBase\References\BepInEx\5.4.2103\unstripped_corlib\UnityEngine.InputLegacyModule.dll + + + ..\..\VapokModBase\References\BepInEx\5.4.2103\unstripped_corlib\UnityEngine.ParticleSystemModule.dll + + + ..\..\VapokModBase\References\BepInEx\5.4.2103\unstripped_corlib\UnityEngine.PhysicsModule.dll + + + ..\..\VapokModBase\References\BepInEx\5.4.2103\unstripped_corlib\UnityEngine.TextRenderingModule.dll + + + ..\..\VapokModBase\References\BepInEx\5.4.2103\unstripped_corlib\UnityEngine.UI.dll + @@ -105,7 +120,6 @@ - @@ -118,7 +132,7 @@ - + @@ -128,8 +142,8 @@ - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}. - + \ No newline at end of file diff --git a/OCDheim/PreciseBuildPieceSnapper.cs b/OCDheim/PreciseBuildPieceSnapper.cs index d64b9e5..88bdbff 100755 --- a/OCDheim/PreciseBuildPieceSnapper.cs +++ b/OCDheim/PreciseBuildPieceSnapper.cs @@ -4,7 +4,7 @@ namespace OCDheim { - [HarmonyPatch(typeof(Player), "UpdatePlacementGhost")] + [HarmonyPatch(typeof(Player), nameof(Player.UpdatePlacementGhost))] public static class PreciseBuildPieceSnapper { private const float NeighbourhoodSize = 3.5f; @@ -110,11 +110,19 @@ private static Vector3 DeterminePerpendicularToPlayerPoVOn(Vector3 snapNode, int return rayHit.normal; } + private static void GetAllPiecesInRadius(Vector3 p, float radius, List pieces) + { + foreach (Piece allPiece in Piece.s_allPieces) + { + if (allPiece.gameObject.layer != Piece.s_ghostLayer && (double) Vector3.Distance(p, allPiece.transform.position) < radius) + pieces.Add(allPiece); + } + } private static List FindNeighbourPieces(Vector3 playerPoV) { neighbourPieces.Clear(); snappableNeighbourPieces.Clear(); - Piece.GetAllPiecesInRadius(playerPoV, NeighbourhoodSize, neighbourPieces); + GetAllPiecesInRadius(playerPoV, (float)NeighbourhoodSize, neighbourPieces); foreach (var neighbourPiece in neighbourPieces) { if (neighbourPiece.IsSnappablePiece()) diff --git a/OCDheim/Properties/AssemblyInfo.cs b/OCDheim/Properties/AssemblyInfo.cs index 95a68a6..f2afdf5 100755 --- a/OCDheim/Properties/AssemblyInfo.cs +++ b/OCDheim/Properties/AssemblyInfo.cs @@ -31,6 +31,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.0.1.0")] -[assembly: AssemblyFileVersion("0.0.1.0")] +[assembly: AssemblyVersion("0.1.3.0")] +[assembly: AssemblyFileVersion("0.1.3.0")] diff --git a/OCDheim/Visualization/Overlay.cs b/OCDheim/Visualization/Overlay.cs index 628305b..58a90c5 100755 --- a/OCDheim/Visualization/Overlay.cs +++ b/OCDheim/Visualization/Overlay.cs @@ -15,7 +15,15 @@ public class Overlay public Vector3 locPosition { get { return transform.localPosition; } set { transform.localPosition = value; } } public Quaternion rotation { get { return transform.rotation; } set { transform.rotation = value; } } public Color color { get { ps.GetParticles(particles, 2); return particles[1].GetCurrentColor(ps); } } - public Color startColor { get { return ps.startColor; } set { ps.startColor = value; } } + public Color startColor + { + get { return psm.startColor.color; } + set + { + var psmainStartColor = psm.startColor; + psmainStartColor.color = value; + } + } public float startSize { get { return psm.startSize.constant; } set { var psMain = ps.main; psMain.startSize = value; } } public float startSpeed { get { return psm.startSize.constant; } set { var psMain = ps.main; psMain.startSpeed = value; } } public float startLifetime { get { return psm.startLifetime.constant; } set { var psMain = ps.main; psMain.startLifetime = value; } } diff --git a/OCDheim/app.config b/OCDheim/app.config index 79bfcc7..b543882 100755 --- a/OCDheim/app.config +++ b/OCDheim/app.config @@ -3,17 +3,29 @@ - - + + - - + + - - + + + + + + + + + + + + + + - + diff --git a/OCDheim/packages.config b/OCDheim/packages.config index a98c99a..9539f53 100755 --- a/OCDheim/packages.config +++ b/OCDheim/packages.config @@ -1,9 +1,4 @@  - - - - - - + \ No newline at end of file diff --git a/OCDheimUnity/.vsconfig b/OCDheimUnity/.vsconfig new file mode 100644 index 0000000..d70cd98 --- /dev/null +++ b/OCDheimUnity/.vsconfig @@ -0,0 +1,6 @@ +{ + "version": "1.0", + "components": [ + "Microsoft.VisualStudio.Workload.ManagedGame" + ] +} diff --git a/OCDheimUnity/Assets/Assemblies/Assembly-CSharp.dll.meta b/OCDheimUnity/Assets/Assemblies/Assembly-CSharp.dll.meta deleted file mode 100755 index abd2679..0000000 --- a/OCDheimUnity/Assets/Assemblies/Assembly-CSharp.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: aa67f0567015e714b960897027dc6c06 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/OCDheimUnity/Assets/Assemblies/assembly_googleanalytics.dll.meta b/OCDheimUnity/Assets/Assemblies/assembly_googleanalytics.dll.meta deleted file mode 100755 index f9db81e..0000000 --- a/OCDheimUnity/Assets/Assemblies/assembly_googleanalytics.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 2d974dc3c6631a74c85a7bc1e10b1da9 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/OCDheimUnity/Assets/Assemblies/assembly_guiutils.dll.meta b/OCDheimUnity/Assets/Assemblies/assembly_guiutils.dll.meta deleted file mode 100755 index 8e17563..0000000 --- a/OCDheimUnity/Assets/Assemblies/assembly_guiutils.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: d167de35b8d6a0640bbd680812894402 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/OCDheimUnity/Assets/Assemblies/assembly_lux.dll.meta b/OCDheimUnity/Assets/Assemblies/assembly_lux.dll.meta deleted file mode 100755 index 1a2d358..0000000 --- a/OCDheimUnity/Assets/Assemblies/assembly_lux.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 3b056f693a0cad64e800fdb4f9bdbd67 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/OCDheimUnity/Assets/Assemblies/assembly_postprocessing.dll.meta b/OCDheimUnity/Assets/Assemblies/assembly_postprocessing.dll.meta deleted file mode 100755 index c713730..0000000 --- a/OCDheimUnity/Assets/Assemblies/assembly_postprocessing.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 3a9b0a5d85e2f3d4c8939894f026224c -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/OCDheimUnity/Assets/Assemblies/assembly_simplemeshcombine.dll.meta b/OCDheimUnity/Assets/Assemblies/assembly_simplemeshcombine.dll.meta deleted file mode 100755 index 428b185..0000000 --- a/OCDheimUnity/Assets/Assemblies/assembly_simplemeshcombine.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: b713d47a1181f9b46ab56c31cffa42a9 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/OCDheimUnity/Assets/Assemblies/assembly_steamworks.dll.meta b/OCDheimUnity/Assets/Assemblies/assembly_steamworks.dll.meta deleted file mode 100755 index 927b545..0000000 --- a/OCDheimUnity/Assets/Assemblies/assembly_steamworks.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: d8d1204a66992464298042ca9f4ad914 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/OCDheimUnity/Assets/Assemblies/assembly_sunshafts.dll.meta b/OCDheimUnity/Assets/Assemblies/assembly_sunshafts.dll.meta deleted file mode 100755 index a5f3edf..0000000 --- a/OCDheimUnity/Assets/Assemblies/assembly_sunshafts.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 252c63756bf8b364d9eaf28aaaef8a37 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/OCDheimUnity/Assets/Assemblies/assembly_utils.dll.meta b/OCDheimUnity/Assets/Assemblies/assembly_utils.dll.meta deleted file mode 100755 index f99295b..0000000 --- a/OCDheimUnity/Assets/Assemblies/assembly_utils.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 02f8a447a61bdeb4d8b07911a9cda599 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/OCDheimUnity/Assets/Assemblies/assembly_valheim.dll.meta b/OCDheimUnity/Assets/Assemblies/assembly_valheim.dll.meta deleted file mode 100755 index 8b22755..0000000 --- a/OCDheimUnity/Assets/Assemblies/assembly_valheim.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 02f806226319f1d4b8ae0232b57e8b19 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/OCDheimUnity/ProjectSettings/ProjectVersion.txt b/OCDheimUnity/ProjectSettings/ProjectVersion.txt index 02057f2..44822a7 100755 --- a/OCDheimUnity/ProjectSettings/ProjectVersion.txt +++ b/OCDheimUnity/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2020.3.33f1 -m_EditorVersionWithRevision: 2020.3.33f1 (915a7af8b0d5) +m_EditorVersion: 2020.3.45f1 +m_EditorVersionWithRevision: 2020.3.45f1 (660cd1701bd5)