mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2026-03-27 01:36:42 +00:00
mass commit of laziness
This commit is contained in:
parent
ce992c70ee
commit
6d4fc549d9
167 changed files with 5471 additions and 675 deletions
92
.Deprecated/ChatBoxTweaks/Main.cs
Normal file
92
.Deprecated/ChatBoxTweaks/Main.cs
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
using System.Reflection;
|
||||
using ABI_RC.Core.InteractionSystem;
|
||||
using ABI_RC.Core.UI.UIRework.Managers;
|
||||
using ABI_RC.Systems.ChatBox;
|
||||
using ABI_RC.Systems.InputManagement;
|
||||
using HarmonyLib;
|
||||
using MelonLoader;
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEngine.LowLevel;
|
||||
using UnityEngine.PlayerLoop;
|
||||
|
||||
namespace NAK.ChatBoxTweaks;
|
||||
|
||||
public class ChatBoxTweaksMod : MelonMod
|
||||
{
|
||||
public override void OnInitializeMelon()
|
||||
{
|
||||
HarmonyInstance.Patch(
|
||||
typeof(KeyboardManager).GetMethod(nameof(KeyboardManager.OnKeyboardSubmit),
|
||||
BindingFlags.NonPublic | BindingFlags.Instance),
|
||||
prefix: new HarmonyMethod(typeof(ChatBoxTweaksMod).GetMethod(nameof(OnPreKeyboardManagerKeyboardSubmit),
|
||||
BindingFlags.NonPublic | BindingFlags.Static)),
|
||||
postfix: new HarmonyMethod(typeof(ChatBoxTweaksMod).GetMethod(nameof(OnPostKeyboardManagerKeyboardSubmit),
|
||||
BindingFlags.NonPublic | BindingFlags.Static))
|
||||
);
|
||||
}
|
||||
|
||||
private static void OnPreKeyboardManagerKeyboardSubmit(ref KeyboardManager __instance, ref KeyboardManager.OpenSource? __state)
|
||||
{
|
||||
__state = __instance.KeyboardOpenSource;
|
||||
}
|
||||
|
||||
private static void OnPostKeyboardManagerKeyboardSubmit(ref KeyboardManager.OpenSource? __state)
|
||||
{
|
||||
if (__state == KeyboardManager.OpenSource.TextComms) ChatBoxAPI.OpenKeyboard();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
public static class NetworkLoopInjector
|
||||
{
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||||
static void InjectNetworkFixedUpdate()
|
||||
{
|
||||
var playerLoop = PlayerLoop.GetCurrentPlayerLoop();
|
||||
|
||||
// Find the FixedUpdate phase
|
||||
int fixedUpdateIndex = Array.FindIndex(playerLoop.subSystemList, s => s.type == typeof(FixedUpdate));
|
||||
if (fixedUpdateIndex < 0)
|
||||
{
|
||||
Debug.LogError("FixedUpdate not found in player loop!");
|
||||
return;
|
||||
}
|
||||
|
||||
var fixedUpdate = playerLoop.subSystemList[fixedUpdateIndex];
|
||||
|
||||
// Create your custom PlayerLoopSystem
|
||||
var networkSystem = new PlayerLoopSystem
|
||||
{
|
||||
type = typeof(NetworkFixedUpdate),
|
||||
updateDelegate = NetworkFixedUpdate.Run
|
||||
};
|
||||
|
||||
// Insert at the start so it runs before physics, animation, etc.
|
||||
var subs = fixedUpdate.subSystemList.ToList();
|
||||
subs.Insert(0, networkSystem);
|
||||
fixedUpdate.subSystemList = subs.ToArray();
|
||||
|
||||
// Reassign and set back
|
||||
playerLoop.subSystemList[fixedUpdateIndex] = fixedUpdate;
|
||||
PlayerLoop.SetPlayerLoop(playerLoop);
|
||||
|
||||
Debug.Log("[NetworkLoopInjector] Inserted NetworkFixedUpdate at start of FixedUpdate loop");
|
||||
}
|
||||
|
||||
static class NetworkFixedUpdate
|
||||
{
|
||||
static int lastStateFrame = -1;
|
||||
|
||||
public static void Run()
|
||||
{
|
||||
// Apply your networked object state syncs before physics simulation
|
||||
Debug.Log("Last State Frame: " + lastStateFrame + " Current Frame: " + Time.frameCount);
|
||||
lastStateFrame = Time.frameCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
Loading…
Add table
Add a link
Reference in a new issue