Ensure issues caused by resizing and pausing can't happen
This commit is contained in:
1 file changed
+11
-2
@@ -43,6 +43,7 @@ public class MultiplayerGamePlayer : MonoBehaviour {
|
||||
[SerializeField] private RectTransform canvasRect;
|
||||
[SerializeField] private BoxCollider2D groundCollider;
|
||||
private UnityEngine.Vector2 velocityBeforePause = new();
|
||||
private UnityEngine.Vector2 lastScreenSize = new();
|
||||
|
||||
internal bool IsGrounded() => Physics2D.Distance(bird.GetComponent<CircleCollider2D>(), groundCollider).distance <= 0.1f;
|
||||
|
||||
@@ -57,6 +58,7 @@ public class MultiplayerGamePlayer : MonoBehaviour {
|
||||
}
|
||||
|
||||
void Start() {
|
||||
lastScreenSize = new UnityEngine.Vector2(Screen.width, Screen.height);
|
||||
MultiplayerGameTempData multiplayerGameTempData = FindObjectsByType<MultiplayerGameTempData>(FindObjectsSortMode.None)[0];
|
||||
if (multiplayerGameTempData == null) {
|
||||
SceneManager.LoadScene("MainMenu");
|
||||
@@ -279,6 +281,13 @@ public class MultiplayerGamePlayer : MonoBehaviour {
|
||||
}
|
||||
|
||||
void Update() {
|
||||
if (disconnecting) return;
|
||||
UnityEngine.Vector2 currentScreenSize = new(Screen.width, Screen.height);
|
||||
if (currentScreenSize != lastScreenSize) {
|
||||
lastScreenSize = currentScreenSize;
|
||||
Disconnect();
|
||||
return;
|
||||
}
|
||||
if (!pausePanel.activeSelf && rb.gravityScale != 100f * canvasRect.lossyScale.y) rb.gravityScale = 100f * canvasRect.lossyScale.y;
|
||||
ProcessSpawns();
|
||||
|
||||
@@ -390,8 +399,8 @@ public class MultiplayerGamePlayer : MonoBehaviour {
|
||||
WebsocketHandler.Instance._Connection.AddOutgoingMessage(JsonUtility.ToJson(msg));
|
||||
}
|
||||
|
||||
void OnApplicationPause(bool pause) {
|
||||
if (pause) EnablePause();
|
||||
void OnApplicationPause() {
|
||||
Disconnect();
|
||||
}
|
||||
|
||||
void OnApplicationQuit() {
|
||||
|
||||
Reference in new issue
Block a user