Example #1
0
        public void Process()
        {
            var allPlayers = GetAllPlayers();

            if (allPlayers != null)
            {
                localPlayer   = GetLocalPlayer(allPlayers);
                remotePlayers = GetRemotePlayers(allPlayers);
            }
            else
            {
                localPlayer   = null;
                remotePlayers = null;
            }

            var localPlayerCount   = localPlayer == null ? 0 : 1;
            var remotePlayersCount = remotePlayers == null ? 0 : remotePlayers.Length;
            var playersFounded     = allPlayers != null ? allPlayers.Length > 0 : false;

            _guiManager.WriteStatus(string.Format("[local players: {0}] [remote players: {1}] []",
                                                  localPlayerCount, remotePlayersCount));
        }
Example #2
0
        private BsPlayer[] GetAllPlayers()
        {
            var blockstormChracters = Object.FindObjectsOfType <Character>();

            if (blockstormChracters != null)
            {
                var blockstormChractersCount = blockstormChracters.Length;

                var players = new List <BsPlayer>();
                for (var i = 0; i < blockstormChractersCount; i++)
                {
                    var suspectPlayer = BsPlayer.TryGetPlayer(blockstormChracters[i]);
                    if (suspectPlayer != null)
                    {
                        players.Add(suspectPlayer);
                    }
                }

                return(players.ToArray());
            }

            return(null);
        }
Example #3
0
 private float GetDistanceToPlayer(Vector3 origin, BsPlayer player)
 {
     return(Vector3.Distance(origin, player.headTransform.position));
 }