public override void AddChildControl(UiControl control) { Vector2 relativePosition = ResolvePosition(control); if (!UiControlPositions.ContainsKey(control)) { UiControlPositions.Add(control, relativePosition); } if (!UiControls.Contains(control)) { UiControls.Add(control); } ControlManager.Add(control); }
public void AddChildControl(UiControl control, Vector2 position) { if (!UiControls.Contains(control)) { UiControls.Add(control); } if (!UiControlPositions.ContainsKey(control)) { UiControlPositions.Add(control, position); Vector2 controlPosition = control.Position; controlPosition.X = DisplayRectangle.X + position.X; controlPosition.Y = DisplayRectangle.Y + position.Y; control.Position = controlPosition; } ControlManager.Add(control); }
public void AddChildControlAtControl(UiControl newControl, UiControl existingControl, float childX, float atParentX, float childY, float atParentY, Vector2 offset) { if (!UiControls.Contains(newControl)) { UiControls.Add(newControl); } if (!UiControlPositions.ContainsKey(newControl)) { Vector2 position = new Vector2(); position.X = ToRelativeX(newControl.DisplayRectangle, existingControl.DisplayRectangle, childX, atParentX) + offset.X; position.Y = ToRelativeY(newControl.DisplayRectangle, existingControl.DisplayRectangle, childY, atParentY) + offset.Y; UiControlPositions.Add(newControl, position + UiControlPositions[existingControl]); newControl.Position = existingControl.Position + position; } ControlManager.Add(newControl); }