// Update is called once per frame void Update() { guiManager.UpdateGUIElementsSize(new Size(Screen.width, Screen.height)); //guiHelper.UpdateGUIElementsSize(); // Check if any player disconnected if (testMultiplayer) { if (MultiplayerManager.Instance.PlayersList.Count < 2 && gameEnd == 0) { gameEnd = 3; MultiplayerManager.Instance.LeaveRoom(2); } } //WINNING CONDITION CHECKING //Only server can check if (Network.isServer) { // Start moving platforms if (!isMovingPlatformStarted) { // Only start when all clients are ready if (numberOfReadyClients >= Network.connections.Length) { StartMovingPlatform(Time.time); } } if (gameEnd == 0) { TriggerParent goalTrigger = goal.GetComponent <TriggerParent>(); if (goalTrigger.collided) { if (isStoneTaken && goalTrigger.hitObject.networkView.owner == stoneKeeper) { // Call RPC Display result only once networkView.RPC("UpdateResult", RPCMode.AllBuffered); MultiplayerManager.Instance.LeaveRoom(2); //Disconnect and unregister host for both server and client } } } KeepStoneTimer(isStoneTaken.ToString(), startTimeKeepStone, elapsedTimeKeepStone); } if (guiManager.GetPauseButtonPress()) { isPause = true; } guiManager.ChangeStoneStatusTexture(isStoneTaken, stoneKeeper); }