protected override void Initialize() { layers = new List <TileLayer>(); for (int i = 0; i < deff.TileLayers.Count; i++) { layers.Add(new TileLayer(i, deff.PostRender, deff.TileLayers[i])); } int maxWidth = int.MaxValue; int maxHeight = 0; int maxY = 0; for (int i = 0; i < layers.Count; i++) { layers[i].Initialize(); if (layers[i].MaxSize.Height > maxHeight) { maxHeight = (int)layers[i].MaxSize.Height; } if (layers[i].MaxSize.Y < maxY) { maxY = layers[i].MaxSize.Y; } if (maxWidth > layers[i].MaxSize.Width) { maxWidth = (int)layers[i].MaxSize.Width; } } if (CameraManager.CurrentCamera != null) { Rectangle rect = new Rectangle(0, maxY, maxWidth, maxHeight); CameraManager.CurrentCamera.SetConstraint(rect); BroadPhase.ReInitialize(rect); } base.Initialize(); }