internal PBEBattlePacket(byte[] data, EndianBinaryReader r) { Data = new ReadOnlyCollection <byte>(data); BattleFormat = r.ReadEnum <PBEBattleFormat>(); BattleTerrain = r.ReadEnum <PBEBattleTerrain>(); Weather = r.ReadEnum <PBEWeather>(); Settings = new PBESettings(r); Settings.MakeReadOnly(); var teams = new PBETeamInfo[r.ReadByte()]; for (int i = 0; i < teams.Length; i++) { teams[i] = new PBETeamInfo(r); } Teams = new ReadOnlyCollection <PBETeamInfo>(teams); }
internal PBETeamInfo(PBETeamInfo other, byte?onlyForTrainer) { Id = other.Id; Trainers = new ReadOnlyCollection <PBETrainerInfo>(other.Trainers.Select(t => new PBETrainerInfo(t, onlyForTrainer)).ToArray()); }