public static AppTeamInfo GetAppTeamInfo(this RelationshipManager.PlayerTeam team, ulong requesterSteamId) { AppTeamInfo appTeamInfo = Pool.Get <AppTeamInfo>(); appTeamInfo.members = Pool.GetList <AppTeamInfo.Member>(); BasePlayer player = null; BasePlayer basePlayer = null; for (int i = 0; i < team.members.Count; i++) { ulong num = team.members[i]; BasePlayer basePlayer2 = RelationshipManager.FindByID(num); if (!basePlayer2) { basePlayer2 = null; } if (num == requesterSteamId) { player = basePlayer2; } if (num == team.teamLeader) { basePlayer = basePlayer2; } Vector2 vector = Util.WorldToMap(basePlayer2?.transform.position ?? Vector3.zero); AppTeamInfo.Member member = Pool.Get <AppTeamInfo.Member>(); member.steamId = num; member.name = basePlayer2?.displayName ?? SingletonComponent <ServerMgr> .Instance.persistance.GetPlayerName(num) ?? ""; member.x = vector.x; member.y = vector.y; member.isOnline = basePlayer2?.IsConnected ?? false; member.spawnTime = basePlayer2?.lifeStory?.timeBorn ?? 0; member.isAlive = basePlayer2?.IsAlive() ?? false; member.deathTime = basePlayer2?.previousLifeStory?.timeDied ?? 0; appTeamInfo.members.Add(member); } appTeamInfo.leaderSteamId = team.teamLeader; appTeamInfo.mapNotes = GetMapNotes(player, true); appTeamInfo.leaderMapNotes = GetMapNotes((requesterSteamId != team.teamLeader) ? basePlayer : null, false); return(appTeamInfo); }
public static AppTeamInfo GetAppTeamInfo(this BasePlayer player, ulong steamId) { AppTeamInfo appTeamInfo = Pool.Get <AppTeamInfo>(); appTeamInfo.members = Pool.GetList <AppTeamInfo.Member>(); AppTeamInfo.Member member = Pool.Get <AppTeamInfo.Member>(); if (player != null) { Vector2 vector = Util.WorldToMap(player.transform.position); member.steamId = player.userID; member.name = player.displayName ?? ""; member.x = vector.x; member.y = vector.y; member.isOnline = player.IsConnected; member.spawnTime = player.lifeStory?.timeBorn ?? 0; member.isAlive = player.IsAlive(); member.deathTime = player.previousLifeStory?.timeDied ?? 0; } else { member.steamId = steamId; member.name = SingletonComponent <ServerMgr> .Instance.persistance.GetPlayerName(steamId) ?? ""; member.x = 0f; member.y = 0f; member.isOnline = false; member.spawnTime = 0u; member.isAlive = false; member.deathTime = 0u; } appTeamInfo.members.Add(member); appTeamInfo.leaderSteamId = 0uL; appTeamInfo.mapNotes = GetMapNotes(player, true); appTeamInfo.leaderMapNotes = GetMapNotes(null, false); return(appTeamInfo); }