mirror of
https://github.com/ApeMV/AmongUsRevamped.git
synced 2026-10-19 15:51:59 +00:00
? ? ? ? ? ? ? ? ? ?
This commit is contained in:
1 parent
5ae6d648e3
commit
88599a0680
2 files changed
+32
-51
No files matched your search
+1
-1
@@ -44,7 +44,7 @@ internal class Hotkeys
|
||||
PlayerControl.LocalPlayer.Collider.enabled = !Ctrl;
|
||||
}
|
||||
|
||||
if (Input.GetKeyDown(KeyCode.C) && GameStartManager.Instance.startState == GameStartManager.StartingStates.Countdown && !HudManager.Instance.Chat.IsOpenOrOpening && Utils.IsLobby)
|
||||
if (Input.GetKeyDown(KeyCode.C) && GameStartManager.InstanceExists && GameStartManager.Instance != null && GameStartManager.Instance.startState == GameStartManager.StartingStates.Countdown && !HudManager.Instance.Chat.IsOpenOrOpening && Utils.IsLobby)
|
||||
{
|
||||
Logger.Info("Resetted start countdown", "KeyCommand");
|
||||
GameStartManager.Instance.ResetStartState();
|
||||
|
||||
@@ -19,11 +19,7 @@ public static class GameStartManagerUpdatePatch
|
||||
|
||||
__instance.MinPlayers = 1;
|
||||
|
||||
if (Main.AutoStart.Value &&
|
||||
OnGameJoinedPatch.AutoStartCheck &&
|
||||
GameStartManager.InstanceExists &&
|
||||
__instance.startState != GameStartManager.StartingStates.Countdown &&
|
||||
GameData.Instance?.PlayerCount >= Options.PlayerAutoStart.GetInt())
|
||||
if (Main.AutoStart.Value && OnGameJoinedPatch.AutoStartCheck && GameStartManager.InstanceExists && __instance.startState != GameStartManager.StartingStates.Countdown && GameData.Instance?.PlayerCount >= Options.PlayerAutoStart.GetInt())
|
||||
{
|
||||
__instance.startState = GameStartManager.StartingStates.Countdown;
|
||||
__instance.countDownTimer = Options.AutoStartTimer.GetFloat();
|
||||
@@ -65,61 +61,46 @@ public static class GameStartManagerUpdatePatch
|
||||
|
||||
if (__instance.GameStartText != null)
|
||||
{
|
||||
__instance.GameStartText.transform.localPosition =
|
||||
new Vector3(__instance.GameStartText.transform.localPosition.x, 2f, __instance.GameStartText.transform.localPosition.z);
|
||||
__instance.GameStartText.transform.localPosition = new Vector3(__instance.GameStartText.transform.localPosition.x, 2f, __instance.GameStartText.transform.localPosition.z);
|
||||
}
|
||||
|
||||
if (GameStartManagerStartPatch.cancelButton != null)
|
||||
{
|
||||
GameStartManagerStartPatch.cancelButton.gameObject.SetActive(
|
||||
__instance.startState == GameStartManager.StartingStates.Countdown);
|
||||
GameStartManagerStartPatch.cancelButton.gameObject.SetActive(__instance.startState == GameStartManager.StartingStates.Countdown);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(GameStartManager), nameof(GameStartManager.Start))]
|
||||
public class GameStartManagerStartPatch
|
||||
[HarmonyPatch(typeof(GameStartManager), nameof(GameStartManager.Start))]
|
||||
public class GameStartManagerStartPatch
|
||||
{
|
||||
public static TextMeshPro warningText;
|
||||
public static PassiveButton cancelButton;
|
||||
|
||||
public static void Postfix(GameStartManager __instance)
|
||||
{
|
||||
public static TextMeshPro warningText;
|
||||
public static PassiveButton cancelButton;
|
||||
if (__instance == null || !Utils.IsLobby) return;
|
||||
|
||||
public static bool Prefix(GameStartManager __instance)
|
||||
warningText = UnityEngine.Object.Instantiate(__instance.GameStartText, __instance.transform.parent);
|
||||
warningText.name = "WarningText";
|
||||
warningText.transform.localPosition = new Vector3(0f, __instance.transform.localPosition.y + 3f, -1f);
|
||||
warningText.gameObject.SetActive(false);
|
||||
|
||||
cancelButton = UnityEngine.Object.Instantiate(__instance.StartButton, __instance.transform);
|
||||
cancelButton.name = "CancelButton";
|
||||
|
||||
var cancelLabel = cancelButton.buttonText;
|
||||
cancelLabel.DestroyTranslator();
|
||||
cancelLabel.text = "Cancel";
|
||||
|
||||
cancelButton.activeTextColor = cancelButton.inactiveTextColor = Color.white;
|
||||
cancelButton.gameObject.SetActive(false);
|
||||
|
||||
cancelButton.OnClick = new();
|
||||
cancelButton.OnClick.AddListener((UnityEngine.Events.UnityAction)(() =>
|
||||
{
|
||||
// If we are not in lobby, skip vanilla Start
|
||||
if (__instance == null) return false;
|
||||
if (!Utils.IsLobby) return false;
|
||||
|
||||
// Ensure all required objects exist
|
||||
if (__instance.GameStartText == null || __instance.StartButton == null)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static void Postfix(GameStartManager __instance)
|
||||
{
|
||||
if (__instance == null || !Utils.IsLobby) return;
|
||||
|
||||
warningText = UnityEngine.Object.Instantiate(__instance.GameStartText, __instance.transform.parent);
|
||||
warningText.name = "WarningText";
|
||||
warningText.transform.localPosition = new Vector3(0f, __instance.transform.localPosition.y + 3f, -1f);
|
||||
warningText.gameObject.SetActive(false);
|
||||
|
||||
cancelButton = UnityEngine.Object.Instantiate(__instance.StartButton, __instance.transform);
|
||||
cancelButton.name = "CancelButton";
|
||||
|
||||
var cancelLabel = cancelButton.buttonText;
|
||||
cancelLabel.DestroyTranslator();
|
||||
cancelLabel.text = "Cancel";
|
||||
|
||||
cancelButton.activeTextColor = cancelButton.inactiveTextColor = Color.white;
|
||||
cancelButton.gameObject.SetActive(false);
|
||||
|
||||
cancelButton.OnClick = new();
|
||||
cancelButton.OnClick.AddListener((UnityEngine.Events.UnityAction)(() =>
|
||||
{
|
||||
__instance.ResetStartState();
|
||||
}));
|
||||
}
|
||||
__instance.ResetStartState();
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user