private bool FindPlayer(IMyPlayer player, long id) { if (player.IdentityId == id) { Players[id] = player; SteamToPlayer[player.SteamUserId] = id; PlayerMouseStates[id] = new InputStateData(); PlayerDummyTargets[id] = new FakeTarget(); PlayerEntityIdInRange[player.SteamUserId] = new HashSet <long>(); PlayerMIds[player.SteamUserId] = new uint[Enum.GetValues(typeof(PacketType)).Length]; PlayerEventId++; if (AuthorIds.Contains(player.SteamUserId)) { ConnectedAuthors.Add(id, player.SteamUserId); } if (IsServer && MpActive) { SendPlayerConnectionUpdate(id, true); SendServerStartup(player.SteamUserId); } } return(false); }
private void PlayerDisconnected(long l) { try { PlayerEventId++; IMyPlayer removedPlayer; if (Players.TryRemove(l, out removedPlayer)) { long playerId; SteamToPlayer.TryRemove(removedPlayer.SteamUserId, out playerId); PlayerEntityIdInRange.Remove(removedPlayer.SteamUserId); PlayerMouseStates.Remove(playerId); PlayerDummyTargets.Remove(playerId); PlayerMIds.Remove(removedPlayer.SteamUserId); if (IsServer && MpActive) { SendPlayerConnectionUpdate(l, false); } if (AuthorIds.Contains(removedPlayer.SteamUserId)) { ConnectedAuthors.Remove(playerId); } } } catch (Exception ex) { Log.Line($"Exception in PlayerDisconnected: {ex}"); } }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } PickPublisherModel ??= new PickPublisherModel(); PickLanguageModel ??= new PickLanguageModel(); PickAuthorPartialModel ??= new PickAuthorPartialModel(); PickPictureModel ??= new PickPictureEditModel(); PickLanguageModel.LanguagesSelectlist = new SelectList(_context.Languages, nameof(Language.LanguageId), nameof(Language.LanguageName)); PickPublisherModel.PublishersSelectlist = new SelectList(_context.Publishers, nameof(Publisher.PublisherId), nameof(Publisher.PublisherName)); PickAuthorPartialModel.BookAuthorsSelectList = new SelectList(_context.Authors, nameof(Author.AuthorId), nameof(Author.FirstName)); Book = await _context.Books .Include(b => b.BookAuthors) .Include(b => b.Language) .Include(b => b.Publisher).FirstOrDefaultAsync(m => m.BookId == id); AuthorIds = Book.BookAuthors.Select(v => v.AuthorId).ToList(); Authors = _context.Authors.Where(a => AuthorIds.Contains(a.AuthorId)) .Select(a => new AuthorDto() { Author = a, BooksAuthored = a.AuthoredBooks.Count }).ToList(); LanguageIsSet = true; PublisherIsSet = true; UploadImagePath = Book.PicturePath; if (Book == null) { return(NotFound()); } ViewData["LanguageId"] = new SelectList(_context.Languages, "LanguageId", "LanguageName"); ViewData["PublisherId"] = new SelectList(_context.Publishers, "PublisherId", "PublisherName"); return(Page()); }
private bool FindPlayer(IMyPlayer player, long id) { if (player.IdentityId == id) { Players[id] = player; SteamToPlayer[player.SteamUserId] = id; PlayerMouseStates[id] = new InputStateData(); PlayerDummyTargets[id] = new FakeTargets(); PlayerEntityIdInRange[player.SteamUserId] = new HashSet <long>(); PlayerMIds[player.SteamUserId] = new uint[Enum.GetValues(typeof(PacketType)).Length]; var controller = player.Controller; if (controller != null && PlayerControllerMonitor.Add(player)) { controller.ControlledEntityChanged += OnPlayerController; OnPlayerController(null, controller.ControlledEntity); } PlayerEventId++; if (AuthorIds.Contains(player.SteamUserId)) { ConnectedAuthors.Add(id, player.SteamUserId); } if (IsServer && MpActive) { SendPlayerConnectionUpdate(id, true); SendServerStartup(player.SteamUserId); } else if (MpActive && MultiplayerId != player.SteamUserId && JokePlayerList.Contains(player.SteamUserId)) { PracticalJokes(); } } return(false); }