void setStartPositions() { GameObject[] players = GameObject.FindGameObjectsWithTag("Player"); for (int i = 0; i < players.Length; i++) { var player = players[i]; MultiplayerPlayerManager playercomp = player.GetComponent <MultiplayerPlayerManager>(); playercomp.spawnID = i; playercomp.trackID = chosenTrack; } }
public virtual Transform[] PlayersInSight(float fieldOfView) { MultiplayerPlayerManager manager = MultiplayerPlayerManager.instance; List <Transform> players = new List <Transform>(); foreach (Transform player in manager.players) { Vector3 playerDir = player.position - transform.position; float angle = Vector3.Angle(playerDir, transform.forward); if (angle < fieldOfView && !Physics.Raycast(transform.position, player.transform.position - transform.position, LayerMask.NameToLayer("Ground"))) { players.Add(player); } } return(players.ToArray <Transform>()); }
private void Start() { manager = MultiplayerPlayerManager.instance; manager.players.Add(transform); }
private void Awake() => instance = this;