void CheckTimeUp() { if (currentSeconds >= goalTime) { var players = FindObjectsOfType <Player>(); foreach (var player in players) { player.Freeze(); } //Online game if (!GameManager.isLocalGame) { ClientInRoom.GoToVictoryScene(); } //Local Game else { SceneLoader.instance.LoadVictoryScene(); } } else { StartCoroutine(Timer()); } }
private void CreateStates() { unconnectedState = new ClientUnconnected(); connectedState = new ClientConnected(); signedUpState = new ClientSignedUp(); signedInState = new ClientSignedIn(); inRoomState = new ClientInRoom(); }
IEnumerator KickCountdown() { yield return(new WaitForSecondsRealtime(timeToKickOut)); if (!anyInputDone && GameManager.isClient) { Debug.Log("kicking"); kicking = true; ClientInRoom.Exit(); } }
private void Update() { ms += (Time.deltaTime * 1000d); #if UNITY_EDITOR if (Input.GetKeyDown(KeyCode.Y) && state == inRoomState) { ClientInRoom.GoToVictoryScene(); } #endif }
private void GoToMainMenu() { if (GameManager.isLocalGame) { SceneLoader.instance.LoadMainMenuScene(); var players = FindObjectsOfType <Player>(); foreach (var player in players) { Destroy(player.gameObject); } } else { ClientInRoom.Exit(); } }
// Start is called before the first frame update void Awake() { FindPlayers(); if (!GameManager.isLocalGame) { foreach (var p in players) { if (p.userInfo.id == Client.user.id) { Client.user.gems += p.score; } } ClientInRoom.SaveGems(); } else { Client.user.gems += gemsEarnedInLocal; ClientSignedIn.SaveInfo(); } }
public void ExitHub() { //Online game if (!GameManager.isLocalGame) { ClientInRoom.Exit(); } //Local game else { Player[] players = FindObjectsOfType <Player>(); foreach (Player player in players) { Destroy(player.gameObject); } SceneLoader.instance.LoadMainMenuScene(); } }
public void EnterLevel() { Player[] players = FindObjectsOfType <Player>(); foreach (Player player in players) { player.Reset(); } //Online game if (!GameManager.isLocalGame) { ClientInRoom.GoToGameScene(); } //Local game else { SceneLoader.instance.LoadGameScene(); } }
private void PlayAgain() { var players = FindObjectsOfType <Player>(); foreach (var player in players) { player.UnFreeze(); player.Reset(); } if (GameManager.isLocalGame) { SceneLoader.instance.LoadHubScene(); } else if (GameManager.isHost) { PlayerSpawnerManager.firstTimeInHub = false; ClientInRoom.GoToHUBScene(); } }
void OnPlayerJoined(PlayerInput playerInput) { if (currentJoinedPlayers >= maxPlayers) { Destroy(playerInput.gameObject); return; } Player player = playerInput.GetComponent <Player>(); if (isInHub && !player.initialized) { player.initialized = true; if (!GameManager.isLocalGame) { //Online Game if (kicking) { Destroy(playerInput.gameObject); return; } Player playerComp = SpawnPlayerAtLocation(playerInput.gameObject); if (!hasJoined && playerInput.transform.parent != networkPlayersParent) { anyInputDone = true; hasJoined = true; UserInfo userInfo = new UserInfo(); User user = Client.user; userInfo.id = user.id; userInfo.isHost = GameManager.isHost; userInfo.isClient = GameManager.isClient; userInfo.bodyType = user.avatar_bodyType; userInfo.skinTone = user.avatar_skinTone; userInfo.color = user.avatar_color; userInfo.face = user.avatar_face; userInfo.hat = user.avatar_hat; userInfo.frame = user.avatar_frame; playerComp.SetUserInfo(userInfo); if (joinButtons != null) { joinButtons.SetActive(false); } ClientInRoom.Spawn(); } else if (playerInput.transform.parent != networkPlayersParent) { Destroy(playerInput.gameObject); } } //Local Game (Random skin) else { anyInputDone = true; playerInput.GetComponent <PlayerAvatar>().UpdateVisuals(); SpawnPlayerAtLocation(playerInput.gameObject); } } else { SpawnPlayerAtLocation(player.gameObject); } }