示例#1
0
 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;
     }
 }
示例#2
0
        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);
 }
示例#4
0
 private void Awake() => instance = this;