Class MaskObject : BoxObject
{
	Vector2 size;

	Static MaskObject Create(Vector2 _position = (0, 0), Vector2 _size = (10, 10), Vector2 _scale = (1, 1), BaseStatusBar _HudClass = null)
	{
		let ret = new();
		
		ret.Children.clear();
		ret.position = _position;
		ret.scale = _scale;
		ret.visible = true;
		ret.size = _size;
		if (_HudClass) ret.HudClass = _HudClass;
		
		return ret;
	}
	
	override void draw(Vector2 _pos, Vector2 _scale)
	{
		if (!HudClass) return;
		if (!visible) return;
	
		CalculateRelativeValues(_pos, _scale);
		
		int left, top, right, bottom;
		[left, top, right, bottom] = screen.GetClipRect();
		
		HudClass.SetClipRect(r_pos.x, r_pos.y, size.x * r_scale.x, size.y * r_scale.y);
	
		self.drawChildren(_pos, _scale);
		
		HudClass.SetClipRect(left, top, right, bottom);
	}
}