From 0fd57cfb1b1f558e9aa0c743784030f99274aa0b Mon Sep 17 00:00:00 2001 From: KeyKoder Date: Mon, 19 Jul 2021 17:38:19 +0200 Subject: [PATCH] Generate placeholder players --- unity/Assets/Scripts/GameLoader.cs | 27 ++++++++++++---------- unity/Assets/Scripts/MainMenuController.cs | 2 +- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/unity/Assets/Scripts/GameLoader.cs b/unity/Assets/Scripts/GameLoader.cs index 79f4926..b95fa36 100644 --- a/unity/Assets/Scripts/GameLoader.cs +++ b/unity/Assets/Scripts/GameLoader.cs @@ -48,18 +48,21 @@ public class GameLoader : MonoBehaviour { conn = Client.GetConnection(); mmc = FindObjectOfType(); mmc.gameObject.SetActive(false); - - var angleDelta = (270) / playerCount; - var dst = 15; - var angleOffset = 45; - for (int i = 0; i < playerCount; i++) { - if (i == myIndex) - continue; - var offsetMult = (i - myIndex) > 0 ? 1 : -1; - var angle = (angleDelta * (i - myIndex) + angleOffset * offsetMult); - Vector3 pos = new Vector3(dst * Mathf.Sin(angle * Mathf.Deg2Rad), 2.6f, -dst * Mathf.Cos(angle * Mathf.Deg2Rad)); - var player = Instantiate(playerCube, pos, Quaternion.AngleAxis(-angle, Vector3.up)); - player.GetComponent().material.color = playerColors[i]; + playerCount = mmc.usersInLobby.Count; + + if (playerCount > 1) { + var angleDelta = 180f / (playerCount - 1); + var dst = 15; + var angleOffset = angleDelta / (2f / (playerCount - 2)); + for (int i = 0; i < playerCount; i++) { + if (i == myIndex) + continue; + var offsetMult = (i - myIndex) > 0 ? 1 : -1; + var angle = angleOffset + angleDelta * (i - myIndex) * offsetMult; + Vector3 pos = new Vector3(dst * Mathf.Sin(angle * Mathf.Deg2Rad), 2.6f, -dst * Mathf.Cos(angle * Mathf.Deg2Rad)); + var player = Instantiate(playerCube, pos, Quaternion.AngleAxis(-angle, Vector3.up)); + player.GetComponent().material.color = playerColors[i % playerColors.Length]; + } } } public static void RegisterCard(string uuid, CardProperties properties) { diff --git a/unity/Assets/Scripts/MainMenuController.cs b/unity/Assets/Scripts/MainMenuController.cs index b092f7d..7604ca4 100644 --- a/unity/Assets/Scripts/MainMenuController.cs +++ b/unity/Assets/Scripts/MainMenuController.cs @@ -25,7 +25,7 @@ public class MainMenuController : MonoBehaviour { private Text lobbyCode; private GameObject lobbyScroll; - private List usersInLobby = new List(); + public List usersInLobby = new List(); private long discordLobbyId = -1; private bool ready = false;