diff --git a/ZoFo/GameCore/GUI/AbstractGUI.cs b/ZoFo/GameCore/GUI/AbstractGUI.cs index 9c966f1..1fdbee6 100644 --- a/ZoFo/GameCore/GUI/AbstractGUI.cs +++ b/ZoFo/GameCore/GUI/AbstractGUI.cs @@ -1,6 +1,60 @@ -namespace ZoFo.GameCore.GUI; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Xml; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; +using MonogameLibrary.UI.Base; +using MonogameLibrary.UI.Elements; + +namespace ZoFo.GameCore.GUI; public abstract class AbstractGUI { - + protected UIManager Manager = new(); + protected List Elements = new(); + private List ActiveElements; + protected DrawableUIElement SelectedElement; + private bool isStartedPrint = false; + private bool isPressed = false; + + public AbstractGui() + { + } + + protected abstract void CreateUI(); + private GraphicsDevice graphicsDevice; + public virtual void Initialize() + { + Manager.Initialize(AppManager.Instance.GraphicsDevice); + CreateUI(); + ActiveElements = new List(); + foreach (var element in Elements) + { + if (CheckOnBadElements(element)) + { + ActiveElements.Add(element); + } + } + if (ActiveElements.Count > 0) { SelectedElement = ActiveElements.First(); } + + } + + public virtual void LoadContent() + { + + } + + public virtual void Update(GameTime gameTime) + { + + } + + public virtual void Draw(SpriteBatch spriteBatch) + { + Manager.Draw(spriteBatch); + } } \ No newline at end of file