public void CreateCharacterWithoutController(string name, Vector3 origin, Quaternion rotation) { GameObject player = Instantiate(Resources.Load <GameObject>("Prefabs/Player")); PlayerController playerController = player.GetComponent <PlayerController>(); playerController.isOnline = true; player.name = "Player_" + name; player.transform.position = origin; player.transform.rotation = rotation; playerController.speed = 2; playerController.nakamaTesting = nakamaTesting; GameObject playerMarket = Instantiate(Resources.Load <GameObject>("Prefabs/MarkText")); playerMarket.name = "PlayerMark_" + name; playerMarket.transform.position = new Vector3(0, 2, 0); FollowToOther ffo2 = playerMarket.GetComponent <FollowToOther>(); ffo2.target = player.transform; ffo2.modifyX = true; ffo2.modifyZ = true; ffo2.modifyY = true; _characters.Add(playerController); }
public void CreateCharacterWithoutController(string name, Vector3 origin, Quaternion rotation, string skin) { GameObject player = Instantiate(characterTemplate); GameObject playerIndicator = Instantiate(characterTextIndicatorTemplate); PlayerController playerController = player.GetComponent <PlayerController>(); playerController.isOnline = true; player.name = "Player_" + name; player.tag = "Character"; player.transform.position = origin; player.transform.rotation = rotation; playerController.speed = 2; playerController.nakamaTesting = nakama; playerIndicator.transform.position = new Vector3(origin.x, 2.3f, origin.z); playerIndicator.transform.rotation = Quaternion.Euler(0, -180, 0); //player.transform.parent = amongUsLobby.transform; Material[] mats = playerController.Mesh.materials; mats[0] = Resources.Load <Material>(skin); playerController.Mesh.materials = mats; playerController.MeshDeadth.materials = mats; FollowToOther follow = playerIndicator.GetComponent <FollowToOther>(); follow.target = player.transform; follow.modifyX = true; follow.modifyY = true; follow.modifyZ = true; _characters.Add(playerController); if (UI != null) { UI.SendMessage("incrementPlayer"); } }
private void createCharacter(GameObject camera, GameObject grespawn = null) { if (playerData == null) { playerData = new PlayerData(); playerData.skin = skins[UnityEngine.Random.Range(0, skins.Length - 1)]; } GameObject player = Instantiate(characterTemplate); GameObject playerIndicator = Instantiate(characterTextIndicatorTemplate); player.name = "Player_" + nakama.GetSessionId(); float posX = 0; PlayerController playerController = player.GetComponent <PlayerController>(); if (grespawn == null) { posX = positions[UnityEngine.Random.Range(0, positions.Length - 1)].position.x; player.transform.position = new Vector3(posX, 1.20f, -5f); playerIndicator.transform.position = new Vector3(posX, 2.3f, -5f); } else { Transform respawn = grespawn.transform.GetChild(UnityEngine.Random.Range(0, grespawn.transform.childCount - 1)); posX = respawn.position.x; player.transform.position = new Vector3(respawn.position.x, 0.38f, respawn.position.z); playerIndicator.transform.position = new Vector3(respawn.position.x, 1.5f, respawn.position.z); camera.transform.position = new Vector3(respawn.position.x, 5.37f, respawn.position.z + 3); // ESto es una mierda pero no se me ocurre por ahora nada, quiero terminarlo ya.... GameObject[] allObjects = Resources.FindObjectsOfTypeAll <GameObject>(); GameObject gControllerTrampillas = null; foreach (GameObject go in allObjects) { if (go.name.Equals("ControllerTrampillas")) { gControllerTrampillas = go; break; } } TrampillasController tp2 = gControllerTrampillas.GetComponent <TrampillasController>(); tp2.Player = player; tp2.TextPlayer = playerIndicator; playerController.trampillasController = tp2; player.tag = (UnityEngine.Random.Range(0, 2) == 0) ? "CharacterPlayer" : "Impostor"; FollowToOther follow2 = camera.GetComponent <FollowToOther>(); follow2.target = player.transform; follow2.modifyX = true; follow2.modifyY = true; follow2.modifyZ = true; playerController.respawn = respawn; TripulanteOrImpostor tripulanteOrImpostor = playerIndicator.GetComponent <TripulanteOrImpostor>(); tripulanteOrImpostor.target = player; } playerIndicator.transform.rotation = Quaternion.Euler(0, -180, 0); //player.transform.parent = amongUsLobby.transform; playerController.camera = camera.GetComponent <Camera>(); playerController.nakamaTesting = nakama; playerController.skin = playerData.skin; Material[] mats = playerController.Mesh.materials; mats[0] = Resources.Load <Material>(playerData.skin); playerController.Mesh.materials = mats; playerController.MeshDeadth.materials = mats; FollowToOther follow = playerIndicator.GetComponent <FollowToOther>(); follow.target = player.transform; follow.modifyX = true; follow.modifyY = true; follow.modifyZ = true; playerController.nakamaTesting.updatePosition(playerController.transform.position, playerController.transform.rotation, playerController.character.velocity.magnitude, playerData.skin); }