public void OnResize(int width, int height) { bool dimensionsChanged = false; if (width != this.Width) { dimensionsChanged = true; Width = width; } if (height != this.Height) { dimensionsChanged = true; Height = height; } if (dimensionsChanged) { // update from lowest order to highest for (int i = 0; i < _components.Count; i++) { IHUDComponent c = _components[i]; c.OnResize(width, height); } } }