private void Update() { lock (serverMessages) { foreach (var msg in serverMessages) { // if is data treat it as world if (msg.IsBinary) { if (!worldLoaded) { world = ser.DeserializeWorld(msg.RawData); worldLoaded = true; BuildWorld(); } else { players = ser.DeserializePlayers(msg.RawData); PositionPlayers(); } } // if msg is string if (msg.IsText) { messages.Add(msg.Data); } foreach (var message in messages) { textMessage.text += message + Environment.NewLine; } } messages.Clear(); serverMessages.Clear(); } if (messagingField.isFocused == true) { writingMessage = true; } else { writingMessage = false; } }