mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-01 13:59:22 +00:00
ASTExtension: Fixed ClearAvatar patch not being prefix
This commit is contained in:
parent
b37d49647e
commit
6930807665
6 changed files with 54 additions and 58 deletions
|
@ -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))
|
||||
);
|
||||
|
||||
|
|
|
@ -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<ClappableLoadingHex>();
|
||||
clappableHexagon._loadingHexagon = loadingHexagon;
|
||||
}
|
||||
}
|
||||
// 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<ClappableLoadingHex>();
|
||||
// clappableHexagon._loadingHexagon = loadingHexagon;
|
||||
// }
|
||||
// }
|
|
@ -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
|
||||
|
||||
|
|
|
@ -4,11 +4,6 @@
|
|||
<TargetFramework>net48</TargetFramework>
|
||||
<RootNamespace>PropSpawnTweaks</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="TheClapper">
|
||||
<HintPath>..\.ManagedLibs\TheClapper.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\loading_hexagon.assets">
|
||||
<LogicalName>loading_hexagon.assets</LogicalName>
|
||||
|
|
|
@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
@ -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",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue