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)); }
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); }
private float GetDistanceToPlayer(Vector3 origin, BsPlayer player) { return(Vector3.Distance(origin, player.headTransform.position)); }