summaryrefslogtreecommitdiff
path: root/Client/Assembly-CSharp/FindGameButton.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Client/Assembly-CSharp/FindGameButton.cs')
-rw-r--r--Client/Assembly-CSharp/FindGameButton.cs63
1 files changed, 63 insertions, 0 deletions
diff --git a/Client/Assembly-CSharp/FindGameButton.cs b/Client/Assembly-CSharp/FindGameButton.cs
new file mode 100644
index 0000000..4b3eef9
--- /dev/null
+++ b/Client/Assembly-CSharp/FindGameButton.cs
@@ -0,0 +1,63 @@
+using System;
+using System.Collections;
+using InnerNet;
+using PowerTools;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+
+public class FindGameButton : MonoBehaviour, IConnectButton
+{
+ public SpriteAnim connectIcon;
+
+ public AnimationClip connectClip;
+
+ public void OnClick()
+ {
+ if (NameTextBehaviour.Instance.ShakeIfInvalid())
+ {
+ return;
+ }
+ if (StatsManager.Instance.AmBanned)
+ {
+ AmongUsClient.Instance.LastDisconnectReason = DisconnectReasons.IntentionalLeaving;
+ DestroyableSingleton<DisconnectPopup>.Instance.Show();
+ return;
+ }
+ if (!DestroyableSingleton<MatchMaker>.Instance.Connecting(this))
+ {
+ return;
+ }
+ AmongUsClient.Instance.GameMode = GameModes.OnlineGame;
+ AmongUsClient.Instance.MainMenuScene = "MMOnline";
+ base.StartCoroutine(this.ConnectForFindGame());
+ }
+
+ private IEnumerator ConnectForFindGame()
+ {
+ AmongUsClient.Instance.SetEndpoint(DestroyableSingleton<ServerManager>.Instance.OnlineNetAddress, 22023);
+ AmongUsClient.Instance.OnlineScene = "OnlineGame";
+ AmongUsClient.Instance.mode = MatchMakerModes.Client;
+ yield return AmongUsClient.Instance.CoConnect();
+ if (AmongUsClient.Instance.LastDisconnectReason != DisconnectReasons.ExitGame)
+ {
+ DestroyableSingleton<MatchMaker>.Instance.NotConnecting();
+ }
+ else
+ {
+ AmongUsClient.Instance.HostId = AmongUsClient.Instance.ClientId;
+ SceneManager.LoadScene("FindAGame");
+ }
+ yield break;
+ }
+
+ public void StartIcon()
+ {
+ this.connectIcon.Play(this.connectClip, 1f);
+ }
+
+ public void StopIcon()
+ {
+ this.connectIcon.Stop();
+ this.connectIcon.GetComponent<SpriteRenderer>().sprite = null;
+ }
+}