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 RectTransform canvasRect;
|
||||||
[SerializeField] private BoxCollider2D groundCollider;
|
[SerializeField] private BoxCollider2D groundCollider;
|
||||||
private UnityEngine.Vector2 velocityBeforePause = new();
|
private UnityEngine.Vector2 velocityBeforePause = new();
|
||||||
|
private UnityEngine.Vector2 lastScreenSize = new();
|
||||||
|
|
||||||
internal bool IsGrounded() => Physics2D.Distance(bird.GetComponent<CircleCollider2D>(), groundCollider).distance <= 0.1f;
|
internal bool IsGrounded() => Physics2D.Distance(bird.GetComponent<CircleCollider2D>(), groundCollider).distance <= 0.1f;
|
||||||
|
|
||||||
@@ -57,6 +58,7 @@ public class MultiplayerGamePlayer : MonoBehaviour {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Start() {
|
void Start() {
|
||||||
|
lastScreenSize = new UnityEngine.Vector2(Screen.width, Screen.height);
|
||||||
MultiplayerGameTempData multiplayerGameTempData = FindObjectsByType<MultiplayerGameTempData>(FindObjectsSortMode.None)[0];
|
MultiplayerGameTempData multiplayerGameTempData = FindObjectsByType<MultiplayerGameTempData>(FindObjectsSortMode.None)[0];
|
||||||
if (multiplayerGameTempData == null) {
|
if (multiplayerGameTempData == null) {
|
||||||
SceneManager.LoadScene("MainMenu");
|
SceneManager.LoadScene("MainMenu");
|
||||||
@@ -279,6 +281,13 @@ public class MultiplayerGamePlayer : MonoBehaviour {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Update() {
|
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;
|
if (!pausePanel.activeSelf && rb.gravityScale != 100f * canvasRect.lossyScale.y) rb.gravityScale = 100f * canvasRect.lossyScale.y;
|
||||||
ProcessSpawns();
|
ProcessSpawns();
|
||||||
|
|
||||||
@@ -390,8 +399,8 @@ public class MultiplayerGamePlayer : MonoBehaviour {
|
|||||||
WebsocketHandler.Instance._Connection.AddOutgoingMessage(JsonUtility.ToJson(msg));
|
WebsocketHandler.Instance._Connection.AddOutgoingMessage(JsonUtility.ToJson(msg));
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnApplicationPause(bool pause) {
|
void OnApplicationPause() {
|
||||||
if (pause) EnablePause();
|
Disconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnApplicationQuit() {
|
void OnApplicationQuit() {
|
||||||
|
|||||||
Reference in new issue
Block a user