void SetPlayers(Color[] colors) { for (int i = 0; i < colors.Length; i++) { if (colors [i].a == 0f) { // no color for this player = no player uiCanvas.FindChild("PlayerPanel" + (i + 1)).gameObject.SetActive(false); continue; } else { int j = i + 1; GameObject p = Instantiate(playerPrefab) as GameObject; p.transform.name = "Player" + j; p.transform.parent = level.transform; PlayerController pc = p.GetComponent <PlayerController> (); pc.SetID(j); pc.color = colors [i]; p.transform.localPosition = spawnPoint [i]; p.transform.localScale = Vector3.one * playerScale; switch (i) { case 0: p.transform.Rotate(0, 0, 45f); break; case 1: p.transform.Rotate(0f, 0f, -135f); break; case 2: p.transform.Rotate(0f, 0f, -45f); break; case 3: p.transform.Rotate(0f, 0f, 135f); break; } p.GetComponent <Respawn>().respawner = respawner; respawner.AddPlayer(p.transform, i); DropBomb db = p.GetComponent <DropBomb>(); db.level = level.transform; StartCoroutine(UnlockPlayerBombing(db, timeBeforeStarting)); GameObject uiPanel = uiCanvas.Find("PlayerPanel" + j).gameObject; MatchPlayerUI playerui = uiPanel.GetComponent <MatchPlayerUI>(); playerui.player = pc; playerui.mode = defaultType; uiPanel.GetComponent <Image>().color = pc.color; control.AddPlayer(pc); } } }
public void GetSpawnpoint_RPC(int team) { if (!PhotonNetwork.IsMasterClient) { matchController = FindObjectOfType <MatchController>(); matchController.AddPlayer(this); } teamId = team; if (PV.IsMine) { hudManager.setBackground(); } spawnPoint = matchController.GetSpawnPoint(this); GetComponent <Transform>().position = spawnPoint.transform.position; }
private void Start() { rigidBody.drag = playerDeceleration; life = maxLife; score = 0; canShoot = true; canShield = true; damageable = true; stunSlider.maxValue = stunTime; lifeText.text = "Vida: " + life; scoreText.GetComponent <TMPro.TextMeshProUGUI>().text = score + " pts"; hudManager = GetComponent <HUDmanager>(); GetBalaIndex(); if (PhotonNetwork.IsConnected && PV.IsMine) { canvas.SetActive(true); mainCamera.enabled = true; playerInput.enabled = true; mobileCharacter.enabled = true; audioListener.enabled = true; sAlas.Play(); } if (PhotonNetwork.IsConnected && PhotonNetwork.IsMasterClient) { matchController = FindObjectOfType <MatchController>(); matchController.AddPlayer(this); teamId = FindObjectOfType <RoomManager>().FindTeamIdByPlayer(PV.Owner); if (teamId == -1) { teamId = 0; Debug.Log("No se ha encontrado el teamId, se le ha aƱadido al equipo 0"); } PV.RPC("GetSpawnpoint_RPC", RpcTarget.All, teamId); } else if (!PhotonNetwork.IsConnected) { canvas.SetActive(true); mainCamera.enabled = true; playerInput.enabled = true; mobileCharacter.enabled = true; RoomManagerOffline RMO = FindObjectOfType <RoomManagerOffline>(); if (RMO.gamemodeIndex == 3) { teamId = 0; } else { teamId = RMO.jugadoresInfo[GetComponentInChildren <PlayerInput>().playerIndex + 1][1]; } if (playerInput.playerIndex == 0) { audioListener.enabled = true; } matchController = FindObjectOfType <MatchController>(); matchController.AddPlayer(this); spawnPoint = matchController.GetSpawnPoint(this); GetComponent <Transform>().position = spawnPoint.transform.position; hudManager.setBackground(); } movementSM = new StateMachine(); groundedState = new GroundedState(this, movementSM); shootingState = new ShootingState(this, movementSM); shieldState = new ShieldState(this, movementSM); deadState = new DeadState(this, movementSM); stunState = new StunState(this, movementSM); feederState = new FeederState(this, movementSM); movementSM.Initialize(groundedState); }
public void AddPlayer(ActionObject action, IPEndPoint groupEP) { MatchController.AddPlayer(action.Player); PlayersIps.Add(action.Player, groupEP); UpdateGameState(); }