public virtual void Kick(CustomLobbyMember member) { if (!IsCaptain) return; RiotServices.GameInvitationService.Kick(member.SummonerID); OnMemberLeft(member); }
public virtual void Kick(CustomLobbyMember member) { if (!IsCaptain) { return; } RiotServices.GameInvitationService.Kick(member.SummonerID); OnMemberLeft(member); }
public virtual void GiveInvitePowers(CustomLobbyMember member, bool canInvite) { if (!IsCaptain) { return; } if (canInvite) { RiotServices.GameInvitationService.RevokeInvitePrivileges(member.SummonerID); } else { RiotServices.GameInvitationService.GrantInvitePrivileges(member.SummonerID); } var raw = lobbyStatus.Members.FirstOrDefault(m => m.SummonerId == member.SummonerID); raw.HasInvitePower = canInvite; }
internal void Update(CustomLobbyMember now) { Team = now.Team; if (now.IsBot && IsBot) { bot = now.bot; } else if (now.IsPlayer && IsPlayer) { player = now.player; } else if (now.IsObserver && IsObserver) { observer = now.observer; } else { throw new Exception("Cant update"); } OnChange(); }
protected virtual void GotGameData(GameDTO game) { Data = game; if (ChatLobby == null) { ChatLobby = new GroupChat(RiotChat.GetCustomRoom(game.RoomName, game.Id, game.RoomPassword), game.RoomPassword); } var participants = game.TeamOne.Concat(game.TeamTwo); var left = new List <CustomLobbyMember>(AllMembers); foreach (var thing in participants) { var player = thing as PlayerParticipant; var bot = thing as BotParticipant; int team; if (game.TeamOne.Contains(thing)) { team = 0; } else { team = 1; } CustomLobbyMember now; if (player != null) { now = new CustomLobbyMember(player, team, this); } else if (bot != null) { now = new CustomLobbyMember(bot, team, this); } else { throw new Exception("Unknown participant " + thing); } CustomLobbyMember old = AllMembers.SingleOrDefault(m => m.SummonerID == now.SummonerID); if (old != null) { TeamOne.Remove(old); TeamTwo.Remove(old); Observers.Remove(old); bool diff = old.Team != now.Team; old.Update(now); if (team == 0) { TeamOne.Add(old); } else { TeamTwo.Add(old); } if (diff) { OnMemberChangeTeam(old); } left.Remove(old); } else { if (team == 0) { TeamOne.Add(now); } else { TeamTwo.Add(now); } OnMemberJoined(now); } } foreach (var thing in game.Observers) { var now = new CustomLobbyMember(thing, this); CustomLobbyMember old = AllMembers.SingleOrDefault(m => m.SummonerID == thing.SummonerId); if (old != null) { TeamOne.Remove(old); TeamTwo.Remove(old); Observers.Remove(old); bool diff = old.Team != now.Team; old.Update(now); Observers.Add(old); if (diff) { OnMemberChangeTeam(old); } left.Remove(old); } else { Observers.Add(now); OnMemberJoined(now); } } foreach (var member in left) { TeamOne.Remove(member); TeamTwo.Remove(member); OnMemberLeft(member); } if (game.GameState.Contains("CHAMP_SELECT")) { var champSelect = GameLobby.EnterChampSelect(game); OnGameStart(champSelect); } OnUpdate(game); if (!loaded) { OnLoaded(); } }
public virtual bool HasInvitePowers(CustomLobbyMember member) { return(members[member.SummonerID].HasInvitePower); }
public virtual void GiveInvitePowers(CustomLobbyMember member, bool canInvite) { if (!IsCaptain) return; if (canInvite) RiotServices.GameInvitationService.RevokeInvitePrivileges(member.SummonerID); else RiotServices.GameInvitationService.GrantInvitePrivileges(member.SummonerID); var raw = lobbyStatus.Members.FirstOrDefault(m => m.SummonerId == member.SummonerID); raw.HasInvitePower = canInvite; }
public virtual bool HasInvitePowers(CustomLobbyMember member) { return members[member.SummonerID].HasInvitePower; }
internal void Update(CustomLobbyMember now) { Team = now.Team; if (now.IsBot && IsBot) bot = now.bot; else if (now.IsPlayer && IsPlayer) player = now.player; else if (now.IsObserver && IsObserver) observer = now.observer; else throw new Exception("Cant update"); OnChange(); }
protected virtual void GotGameData(GameDTO game) { Data = game; if (ChatLobby == null) { ChatLobby = new GroupChat(RiotChat.GetCustomRoom(game.RoomName, game.Id, game.RoomPassword), game.RoomPassword); } var participants = game.TeamOne.Concat(game.TeamTwo); var left = new List<CustomLobbyMember>(AllMembers); foreach (var thing in participants) { var player = thing as PlayerParticipant; var bot = thing as BotParticipant; int team; if (game.TeamOne.Contains(thing)) team = 0; else team = 1; CustomLobbyMember now; if (player != null) { now = new CustomLobbyMember(player, team, this); } else if (bot != null) { now = new CustomLobbyMember(bot, team, this); } else throw new Exception("Unknown participant " + thing); CustomLobbyMember old = AllMembers.SingleOrDefault(m => m.SummonerID == now.SummonerID); if (old != null) { TeamOne.Remove(old); TeamTwo.Remove(old); Observers.Remove(old); bool diff = old.Team != now.Team; old.Update(now); if (team == 0) TeamOne.Add(old); else TeamTwo.Add(old); if (diff) OnMemberChangeTeam(old); left.Remove(old); } else { if (team == 0) TeamOne.Add(now); else TeamTwo.Add(now); OnMemberJoined(now); } } foreach (var thing in game.Observers) { var now = new CustomLobbyMember(thing, this); CustomLobbyMember old = AllMembers.SingleOrDefault(m => m.SummonerID == thing.SummonerId); if (old != null) { TeamOne.Remove(old); TeamTwo.Remove(old); Observers.Remove(old); bool diff = old.Team != now.Team; old.Update(now); Observers.Add(old); if (diff) OnMemberChangeTeam(old); left.Remove(old); } else { Observers.Add(now); OnMemberJoined(now); } } foreach (var member in left) { TeamOne.Remove(member); TeamTwo.Remove(member); OnMemberLeft(member); } if (game.GameState.Contains("CHAMP_SELECT")) { var champSelect = GameLobby.EnterChampSelect(game); OnGameStart(champSelect); } OnUpdate(game); if (!loaded) OnLoaded(); }