using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
namespace MLEM.Ui.Elements {
///
/// A group element to be used inside of a .
/// A group is an element that has no rendering or interaction on its own, but that can aid with automatic placement of child elements.
///
public class Group : Element {
///
/// Creates a new group with the given settings
///
/// The group's anchor
/// The group's size
/// Whether the group's height should be based on its children's height
public Group(Anchor anchor, Vector2 size, bool setHeightBasedOnChildren = true) : base(anchor, size) {
this.SetHeightBasedOnChildren = setHeightBasedOnChildren;
this.CanBeSelected = false;
}
///
public override void Draw(GameTime time, SpriteBatch batch, float alpha, BlendState blendState, SamplerState samplerState, DepthStencilState depthStencilState, Effect effect, Matrix matrix) {
// since the group never accesses its own area when drawing, we have to update it manually
this.UpdateAreaIfDirty();
base.Draw(time, batch, alpha, blendState, samplerState, depthStencilState, effect, matrix);
}
}
}