public Player CreateRon(Vector3 pos, Quaternion rot, bool male = true, string name = "") { int modelIdx = male ? 0 : 1; if (name == "") { name = RandomName(male); } ForceUniqueName(ref name); // create player GameObject go = GameObject.Instantiate(Resources.Load("Avatars/ron")) as GameObject; MsgData userInitData = new MsgData(); userInitData.name = name; userInitData.playerID = UnityEngine.Random.Range(0, 8); User user = new ReplayUser(userInitData); Player bot = new Player(user, go, modelIdx, PlayerType.STEALTH, "", userInitData.name, 0); bot.isBot = true; // assign transform bot.gameObject.transform.position = pos; bot.gameObject.transform.rotation = rot; bot.gameObject.GetComponent <PlayerController>().forwardAngle = rot.eulerAngles.y; // make visible and kill bouncing bot.gameObject.SetActive(true); localBots.Add(name, bot); return(bot); }
void HandleUserEnterExit(ref MsgData msg) // const ref { bool entered = (msg.msgType == SFSEvent.USER_ENTER_ROOM); Debug.LogError("\tuser " + msg.id + " - " + msg.name + ((entered) ? " entered" : " left")); if (entered) { Player replayPlayer = null; if (!replayPlayers.TryGetValue(msg.id, out replayPlayer)) { // Create replay player User user = new ReplayUser(msg); PlayerInit pInit = PlayerManager.InitPlayerVariablesFromUserVariables(msg.changedVars); GameObject go = GameManager.Inst.playerManager.CreateRemotePlayerGO(pInit.modelIndex); replayPlayer = new Player(user, go, pInit); replayPlayers[msg.id] = replayPlayer; } replayPlayer.Visible = true; HandleUserVariableUpdate(ref msg); } else { Player p = GetPlayer(ref msg); p.Visible = false; //replayPlayers.Remove(msg.id); } Debug.LogError("HandleUserEnterExit complete"); }
public Player Create(Vector3 pos, Quaternion rot, bool male = true, bool addToUserList = false, string name = "") { int modelIdx = male ? 0 : 1; if (name == "") { name = RandomName(male); } ForceUniqueName(ref name); // create player GameObject go = GameManager.Inst.playerManager.CreateRemotePlayerGO(modelIdx); MsgData userInitData = new MsgData(); userInitData.name = name; userInitData.playerID = UnityEngine.Random.Range(0, 8); User user = new ReplayUser(userInitData); Player bot = new Player(user, go, modelIdx, PlayerType.STEALTH, "", userInitData.name, 0); bot.isBot = true; AvatarOptionManager.Inst.CreateRandomAvatar(bot, false); // assign transform bot.gameObject.transform.position = pos; bot.gameObject.transform.rotation = rot; bot.gameObject.GetComponent <PlayerController>().forwardAngle = rot.eulerAngles.y; // make visible and kill bouncing bot.gameObject.SetActive(true); bot.gameObject.GetComponent <SimpleRemoteInterpolation>().enabled = false; if (addToUserList) { GameGUI.Inst.ExecuteJavascriptOnGui(bot.GetAddToGUIUserListJSCmd()); } localBots.Add(name, bot); return(bot); }
Player GetPlayer(ref MsgData msg) { Player replayPlayer = null; if (!replayPlayers.TryGetValue(msg.id, out replayPlayer)) { User user = new ReplayUser(msg); UserVariable playerTypeOverride = null; if (msg.changedVars != null) { for (int i = 0; i < msg.changedVars.Count && playerTypeOverride == null; ++i) { if (msg.changedVars[i].Name == "ptype") { playerTypeOverride = msg.changedVars[i]; } } } string jsonRequest = "{\"displayname\":\"" + msg.name + "\"}"; UserProfile userProfile = new UserProfile(); userProfile.InitFromColumnValue(jsonRequest); if (!userProfile.Initialized) { Debug.LogError("Didn't get the user " + msg.name + " they may have changed their display name"); } else { int modelIdx = PlayerManager.GetModelIdx(userProfile.Model); GameObject go = GameManager.Inst.playerManager.CreateRemotePlayerGO(modelIdx); replayPlayer = new Player(user, go, userProfile); if (playerTypeOverride != null) { replayPlayer.UpdateType(playerTypeOverride); } replayPlayers[msg.id] = replayPlayer; } if (replayClicks) { SetPlayerMouseToReplayMode(replayPlayer); } } if (replayPlayer == null) { // save parse requests and use our best guess for now. Debug.LogError("Creating user: "******" as a stealth user"); int modelIdx = 0; GameObject go = GameManager.Inst.playerManager.CreateRemotePlayerGO(modelIdx); User user = new ReplayUser(msg); replayPlayer = new Player(user, go, modelIdx, PlayerType.STEALTH, "", msg.name, 0); replayPlayers[msg.id] = replayPlayer; if (replayClicks) { SetPlayerMouseToReplayMode(replayPlayer); } } if (!replayPlayer.Visible) { replayPlayer.Visible = true; } return(replayPlayer); }