private void GatherChanges(MinecraftVersion minBlockVersionNumber, MinecraftVersion maxBlockVersionNumber, int suggestedMaxBlockRequests, MinecraftVersion minPlayerVersionNumber, MinecraftVersion maxPlayerVersionNumber, int suggestedMaxPlayerRequests, BlockMetaData[] blocks, PlayerMetaData[] players, ref BlockMetaData[] blocksResult, ref PlayerMetaData[] playerResult, out int nBlocks, out int nPlayers, out int nBlocksLeft, out int nPlayersLeft, out MinecraftVersion lastBlockUsedVersion, out MinecraftVersion lastPlayerUsedVersion) { nBlocks = 0; var blockRange = new BlockEnumerateRange(blocks); GetRangeInfo(blockRange, minBlockVersionNumber, maxBlockVersionNumber, suggestedMaxBlockRequests, out int firstIndex, out nBlocks, out nBlocksLeft, out lastBlockUsedVersion); if (nBlocks > 0) { blocksResult = new BlockMetaData[nBlocks]; Array.Copy(blocks, firstIndex, blocksResult, 0, nBlocks); } nPlayers = 0; var playerRange = new PlayersEnumerateRange(players); GetRangeInfo(playerRange, minPlayerVersionNumber, maxPlayerVersionNumber, suggestedMaxPlayerRequests, out firstIndex, out nPlayers, out nPlayersLeft, out lastPlayerUsedVersion); if (nPlayers > 0) { playerResult = new PlayerMetaData[nPlayers]; Array.Copy(players, firstIndex, playerResult, 0, nPlayers); } }
private void GatherChanges(MinecraftVersion minBlockVersionNumber, MinecraftVersion maxBlockVersionNumber, int suggestedMaxBlockRequests, MinecraftVersion minPlayerVersionNumber, MinecraftVersion maxPlayerVersionNumber, int suggestedMaxPlayerRequests, ref BlockInfo[] blocks, ref PlayerInfo[] players, out int nBlocks, out int nPlayers, out int nBlocksLeft, out int nPlayersLeft, out MinecraftVersion lastBlockUsedVersion, out MinecraftVersion lastPlayerUsedVersion) { int firstIndex = 0; nBlocks = 0; var blockRange = new BlockEnumerateRange(mBlocks); GetRangeInfo(blockRange, minBlockVersionNumber, maxBlockVersionNumber, suggestedMaxBlockRequests, out firstIndex, out nBlocks, out nBlocksLeft, out lastBlockUsedVersion); if (nBlocks > 0) { blocks = new BlockInfo[nBlocks]; mBlocks.CopyTo(firstIndex, blocks, 0, nBlocks); } nPlayers = 0; var playerRange = new PlayersEnumerateRange(mActivePlayers); GetRangeInfo(playerRange, minPlayerVersionNumber, maxPlayerVersionNumber, suggestedMaxPlayerRequests, out firstIndex, out nPlayers, out nPlayersLeft, out lastPlayerUsedVersion); if (nPlayers > 0) { players = new PlayerInfo[nPlayers]; mActivePlayers.CopyTo(firstIndex, players, 0, nPlayers); } }