diff --git a/ASTExtension/Main.cs b/ASTExtension/Main.cs index 7c22de7..881bcbf 100644 --- a/ASTExtension/Main.cs +++ b/ASTExtension/Main.cs @@ -82,7 +82,7 @@ public class ASTExtensionMod : MelonMod HarmonyInstance.Patch( typeof(PlayerSetup).GetMethod(nameof(PlayerSetup.ClearAvatar), BindingFlags.Public | BindingFlags.Instance), - postfix: new HarmonyMethod(typeof(ASTExtensionMod).GetMethod(nameof(OnClearAvatar), + prefix: new HarmonyMethod(typeof(ASTExtensionMod).GetMethod(nameof(OnClearAvatar), BindingFlags.NonPublic | BindingFlags.Static)) ); diff --git a/PropLoadingHexagon/Integrations/ClappableLoadingHex.cs b/PropLoadingHexagon/Integrations/ClappableLoadingHex.cs index 9e7b617..821f5ec 100644 --- a/PropLoadingHexagon/Integrations/ClappableLoadingHex.cs +++ b/PropLoadingHexagon/Integrations/ClappableLoadingHex.cs @@ -1,36 +1,37 @@ -using NAK.PropLoadingHexagon.Components; -using UnityEngine; - -namespace NAK.PropLoadingHexagon.Integrations; - -public static class TheClapperIntegration -{ - public static void Init() - { - PropLoadingHexagonMod.OnPropPlaceholderCreated += (placeholder) => - { - if (placeholder.TryGetComponent(out LoadingHexagonController loadingHexagon)) - ClappableLoadingHex.Create(loadingHexagon); - }; - } -} - -public class ClappableLoadingHex : Kafe.TheClapper.Clappable -{ - private LoadingHexagonController _loadingHexagon; - - public override void OnClapped(Vector3 clappablePosition) - { - if (_loadingHexagon == null) return; - _loadingHexagon.IsLoadingCanceled = true; - Kafe.TheClapper.TheClapper.EmitParticles(clappablePosition, new Color(1f, 1f, 0f), 2f); // why this internal - } - - public static void Create(LoadingHexagonController loadingHexagon) - { - GameObject target = loadingHexagon.transform.GetChild(0).gameObject; - if (!target.gameObject.TryGetComponent(out ClappableLoadingHex clappableHexagon)) - clappableHexagon = target.AddComponent(); - clappableHexagon._loadingHexagon = loadingHexagon; - } -} \ No newline at end of file +// using NAK.PropLoadingHexagon.Components; +// using UnityEngine; +// +// namespace NAK.PropLoadingHexagon.Integrations; +// +// // ReSharper disable once ClassNeverInstantiated.Global +// public class TheClapperIntegration +// { +// public static void Init() +// { +// PropLoadingHexagonMod.OnPropPlaceholderCreated += (placeholder) => +// { +// if (placeholder.TryGetComponent(out LoadingHexagonController loadingHexagon)) +// ClappableLoadingHex.Create(loadingHexagon); +// }; +// } +// } +// +// public class ClappableLoadingHex : Kafe.TheClapper.Clappable +// { +// private LoadingHexagonController _loadingHexagon; +// +// public override void OnClapped(Vector3 clappablePosition) +// { +// if (_loadingHexagon == null) return; +// _loadingHexagon.IsLoadingCanceled = true; +// Kafe.TheClapper.TheClapper.EmitParticles(clappablePosition, new Color(1f, 1f, 0f), 2f); // why this internal +// } +// +// public static void Create(LoadingHexagonController loadingHexagon) +// { +// GameObject target = loadingHexagon.transform.GetChild(0).gameObject; +// if (!target.gameObject.TryGetComponent(out ClappableLoadingHex clappableHexagon)) +// clappableHexagon = target.AddComponent(); +// clappableHexagon._loadingHexagon = loadingHexagon; +// } +// } \ No newline at end of file diff --git a/PropLoadingHexagon/Main.cs b/PropLoadingHexagon/Main.cs index 97248fc..aecb7df 100644 --- a/PropLoadingHexagon/Main.cs +++ b/PropLoadingHexagon/Main.cs @@ -65,8 +65,7 @@ public class PropLoadingHexagonMod : MelonMod ); LoadAssetBundle(); - - InitializeIntegration("TheClapper", Integrations.TheClapperIntegration.Init); + //HandleIntegrations(); } public override void OnUpdate() @@ -100,18 +99,19 @@ public class PropLoadingHexagonMod : MelonMod #endregion Melon Events - #region Integrations - - private void InitializeIntegration(string modName, Action integrationAction) - { - if (RegisteredMelons.All(it => it.Info.Name != modName)) - return; - - LoggerInstance.Msg($"Initializing {modName} integration."); - integrationAction.Invoke(); - } - - #endregion Integrations + // #region Integrations + // + // [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + // private void HandleIntegrations() + // { + // if (RegisteredMelons.Any(it => it.Info.Name == "TheClapper")) + // { + // LoggerInstance.Msg("Initializing TheClapper integration."); + // Integrations.TheClapperIntegration.Init(); + // } + // } + // + // #endregion Integrations #region Asset Bundle Loading diff --git a/PropLoadingHexagon/PropLoadingHexagon.csproj b/PropLoadingHexagon/PropLoadingHexagon.csproj index 804b0ae..dd11616 100644 --- a/PropLoadingHexagon/PropLoadingHexagon.csproj +++ b/PropLoadingHexagon/PropLoadingHexagon.csproj @@ -4,11 +4,6 @@ net48 PropSpawnTweaks - - - ..\.ManagedLibs\TheClapper.dll - - loading_hexagon.assets diff --git a/PropLoadingHexagon/README.md b/PropLoadingHexagon/README.md index 98c434e..c07c464 100644 --- a/PropLoadingHexagon/README.md +++ b/PropLoadingHexagon/README.md @@ -4,7 +4,7 @@ https://github.com/NotAKidoS/NAK_CVR_Mods/assets/37721153/a892c765-71c1-47f3-a78 Adds a hexagon indicator to downloading props. Indicator is styled to look similar to Portals. -Can use Delete Mode & The Clapper on loading hexagons to cancel stuck downloads. Setting is provided to display the hexagon for Blocked/Filtered props. +Can use Delete Mode ~~& The Clapper~~ on loading hexagons to cancel stuck downloads. Setting is provided to display the hexagon for Blocked/Filtered props. --- diff --git a/PropLoadingHexagon/format.json b/PropLoadingHexagon/format.json index 3e4805f..541cd73 100644 --- a/PropLoadingHexagon/format.json +++ b/PropLoadingHexagon/format.json @@ -6,7 +6,7 @@ "loaderversion": "0.6.1", "modtype": "Mod", "author": "Exterrata & NotAKidoS", - "description": "Adds a hexagon indicator to downloading props. Indicator is styled to look similar to Portals.\n\nCan use Delete Mode & The Clapper on loading hexagons to cancel stuck downloads. Setting is provided to display the hexagon for Blocked/Filtered props.", + "description": "Adds a hexagon indicator to downloading props. Indicator is styled to look similar to Portals.\n\nCan use Delete Mode on loading hexagons to cancel stuck downloads. Setting is provided to display the hexagon for Blocked/Filtered props.", "searchtags": [ "prop", "spawn",