private byte[] SaveCompletedEvents() { List <byte> data = new List <byte>(); data.AddRange(BitConverter.GetBytes(PokeManager.NumEvents)); for (int i = 0; i < PokeManager.NumEvents; i++) { EventDistribution eventDist = PokeManager.GetEventAt(i); data.AddRange(ByteHelper.GetStringBytes(eventDist.ID, 40)); List <uint> completedList = PokeManager.GetCompletedEventsList(eventDist.ID); data.AddRange(BitConverter.GetBytes(completedList.Count)); foreach (uint fullID in completedList) { data.AddRange(BitConverter.GetBytes(fullID)); } } return(data.ToArray()); }