public GMRoom(ProjectReader reader, GMProject proj) { Name = reader.ReadString(); LastChanged = reader.ReadDate(); Version = reader.ReadInt32(); Caption = reader.ReadString(); Width = reader.ReadUInt32(); Height = reader.ReadUInt32(); int _snx = reader.ReadInt32(); int _sny = reader.ReadInt32(); Snap = new Point(_snx, _sny); Isometric = reader.ReadBoolean(); Speed = reader.ReadUInt32(); Persistent = reader.ReadBoolean(); BackgroundColor = reader.ReadColor(); int val = reader.ReadInt32(); DrawBackgroundColor = (val & 1) != 0; ClearBGWithWindowColor = (val & 0b10) == 0; CreationCode = reader.ReadString(); // Read room backgrounds. int bgcount = reader.ReadInt32(); Backgrounds = new List <RoomBackground>(bgcount); for (int i = 0; i < bgcount; i++) { var bgstruct = new RoomBackground(); bgstruct.Load(reader, proj); Backgrounds.Add(bgstruct); } // Read views. EnableViews = reader.ReadBoolean(); int viewcount = reader.ReadInt32(); Views = new List <RoomView>(viewcount); for (int i = 0; i < viewcount; i++) { var viewstruct = new RoomView(); viewstruct.Load(reader, proj); Views.Add(viewstruct); } // Read room instances. int instcount = reader.ReadInt32(); Instances = new List <RoomInstance>(instcount); for (int i = 0; i < instcount; i++) { var inststruct = new RoomInstance(); inststruct.Load(reader, proj); Instances.Add(inststruct); } // Read room tiles. int tilecount = reader.ReadInt32(); Tiles = new List <RoomTile>(tilecount); for (int i = 0; i < tilecount; i++) { var tilestruct = new RoomTile(); tilestruct.Load(reader, proj); Tiles.Add(tilestruct); } // weird editor settings (aren't really important unless you make an IDE) REI = reader.ReadBoolean(); EditorWidth = reader.ReadInt32(); EditorHeight = reader.ReadInt32(); ShowGrid = reader.ReadBoolean(); ShowObjects = reader.ReadBoolean(); ShowTiles = reader.ReadBoolean(); ShowBGs = reader.ReadBoolean(); ShowFGs = reader.ReadBoolean(); ShowViews = reader.ReadBoolean(); DeleteUnderlyingObj = reader.ReadBoolean(); DeleteUnderlyingTil = reader.ReadBoolean(); Tab = (EditorTab)reader.ReadInt32(); int _hx = reader.ReadInt32(); int _hy = reader.ReadInt32(); Scrollbar = new Point(_hx, _hy); reader.Dispose(); }