public static void Serialize(BinaryWriter s, GameState state)
{
s.Write(state.CurrentFrame);
s.Write(state.TotalGameTime);
s.Write(UUIDGenerator.GetUUID());
s.Write(state.activeTeams.Length);
foreach(var at in state.activeTeams) {
s.Write(at.Index);
RTSTeam.Serialize(s, at.Team);
}
s.Write(state.tbMemBuildings.TotalTasks);
foreach(var task in state.tbMemBuildings.Tasks) {
var ebu = task as EnemyBuildingUpdater;
EnemyBuildingUpdater.Serialize(s, ebu);
}
LevelGrid.Serialize(s, state);
}