private void SpawnRemotePlayer(SFSUser user, string room = "") { VDebug.Log("Spawning user: "******" room: " + room); // New client just started transmitting - lets create remote player PlayerInit pInit = InitPlayerVariablesFromUserVariables(user.GetVariables()); pInit.displayName = (string.IsNullOrEmpty(pInit.displayName)) ? user.Name : pInit.displayName; // See if there already exists a model so we can destroy it first if (remotePlayers.ContainsKey(user) && remotePlayers[user] != null) { Destroy(remotePlayers[user]); remotePlayers.Remove(user); players.Remove(user.Id); if (user.Name == GetLocalPlayer().SFSName) { Debug.LogError("Caught someone logging in with my name, logging out"); CommunicationManager.Inst.LogOut(); return; } } if (pInit.ptype != PlayerType.STEALTH && roomEntrySoundFlag) { SoundManager.Inst.PlayEnter(); } Player remotePlayer = CreateRemotePlayer(user, pInit.modelIndex, pInit.Pos, pInit.Rot, pInit.optionsStr, pInit.parseID, pInit.displayName, pInit.teamID, pInit.ptype, pInit.sit); if (CommunicationManager.IsPrivateRoom(room)) { GameGUI.Inst.ExecuteJavascriptOnGui(remotePlayer.GetUserEnterPrivateRoomJSCmd(room)); } }