ui
This commit is contained in:
parent
a70367eb27
commit
ad73fb265d
6 changed files with 89 additions and 13 deletions
|
@ -24,4 +24,10 @@
|
||||||
/processorParam:MakeSquare=False
|
/processorParam:MakeSquare=False
|
||||||
/processorParam:TextureFormat=Color
|
/processorParam:TextureFormat=Color
|
||||||
/build:wall.jpg
|
/build:wall.jpg
|
||||||
|
#begin Font.spritefont
|
||||||
|
/importer:FontDescriptionImporter
|
||||||
|
/processor:FontDescriptionProcessor
|
||||||
|
/processorParam:PremultiplyAlpha=True
|
||||||
|
/processorParam:TextureFormat=Compressed
|
||||||
|
/build:Font.spritefont
|
||||||
|
|
||||||
|
|
64
DangerousD/Content/Font.spritefont
Normal file
64
DangerousD/Content/Font.spritefont
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file contains an xml description of a font, and will be read by the XNA
|
||||||
|
Framework Content Pipeline. Follow the comments to customize the appearance
|
||||||
|
of the font in your game, and to change the characters which are available to draw
|
||||||
|
with.
|
||||||
|
-->
|
||||||
|
<XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics">
|
||||||
|
<Asset Type="Graphics:FontDescription">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Modify this string to change the font that will be imported.
|
||||||
|
-->
|
||||||
|
<FontName>Arial</FontName>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Size is a float value, measured in points. Modify this value to change
|
||||||
|
the size of the font.
|
||||||
|
-->
|
||||||
|
<Size>12</Size>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Spacing is a float value, measured in pixels. Modify this value to change
|
||||||
|
the amount of spacing in between characters.
|
||||||
|
-->
|
||||||
|
<Spacing>0</Spacing>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
UseKerning controls the layout of the font. If this value is true, kerning information
|
||||||
|
will be used when placing characters.
|
||||||
|
-->
|
||||||
|
<UseKerning>true</UseKerning>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Style controls the style of the font. Valid entries are "Regular", "Bold", "Italic",
|
||||||
|
and "Bold, Italic", and are case sensitive.
|
||||||
|
-->
|
||||||
|
<Style>Regular</Style>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
If you uncomment this line, the default character will be substituted if you draw
|
||||||
|
or measure text that contains characters which were not included in the font.
|
||||||
|
-->
|
||||||
|
<!-- <DefaultCharacter>*</DefaultCharacter> -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
CharacterRegions control what letters are available in the font. Every
|
||||||
|
character from Start to End will be built and made available for drawing. The
|
||||||
|
default range is from 32, (ASCII space), to 126, ('~'), covering the basic Latin
|
||||||
|
character set. The characters are ordered according to the Unicode standard.
|
||||||
|
See the documentation for more information.
|
||||||
|
-->
|
||||||
|
<CharacterRegions>
|
||||||
|
<CharacterRegion>
|
||||||
|
<Start> </Start>
|
||||||
|
<End>~</End>
|
||||||
|
</CharacterRegion>
|
||||||
|
<CharacterRegion>
|
||||||
|
<Start>а</Start>
|
||||||
|
<End>я</End>
|
||||||
|
</CharacterRegion>
|
||||||
|
</CharacterRegions>
|
||||||
|
</Asset>
|
||||||
|
</XnaContent>
|
|
@ -11,21 +11,23 @@ public abstract class AbstractGui : IDrawableObject
|
||||||
protected UIManager Manager = new();
|
protected UIManager Manager = new();
|
||||||
protected List<DrawableUIElement> Elements = new();
|
protected List<DrawableUIElement> Elements = new();
|
||||||
|
|
||||||
|
|
||||||
public AbstractGui()
|
public AbstractGui()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract void CreateUI();
|
protected abstract void CreateUI();
|
||||||
|
private GraphicsDevice graphicsDevice;
|
||||||
public virtual void Initialize(GraphicsDevice graphicsDevice)
|
public virtual void Initialize(GraphicsDevice graphicsDevice)
|
||||||
{
|
{
|
||||||
Manager.Initialize("", graphicsDevice);
|
this.graphicsDevice = graphicsDevice;
|
||||||
|
Manager.Initialize(graphicsDevice);
|
||||||
CreateUI();
|
CreateUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void LoadContent()
|
public virtual void LoadContent()
|
||||||
{
|
{
|
||||||
Manager.LoadContent(AppManager.Instance.Content);
|
Manager.LoadContent(AppManager.Instance.Content, "Font");
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void Update(GameTime gameTime)
|
public virtual void Update(GameTime gameTime)
|
||||||
|
|
|
@ -15,5 +15,7 @@ internal class MenuGUI : AbstractGui
|
||||||
{
|
{
|
||||||
AppManager.Instance.ChangeGameState(GameState.Game);
|
AppManager.Instance.ChangeGameState(GameState.Game);
|
||||||
};
|
};
|
||||||
|
Elements.Add(new Button(Manager) { rectangle = new Rectangle(0, 10, 790, 50) });
|
||||||
|
Elements.Add(new Label(Manager) { rectangle = new Rectangle(100, 10, 50, 50), text = "DA" });
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -16,16 +16,10 @@ namespace MonogameLibrary.UI.Base
|
||||||
Dictionary<int, List<DrawableUIElement>> layerCollection = new();
|
Dictionary<int, List<DrawableUIElement>> layerCollection = new();
|
||||||
public GraphicsDevice GraphicsDevice { get; private set; }
|
public GraphicsDevice GraphicsDevice { get; private set; }
|
||||||
public SpriteFont BaseFont { get; private set; }
|
public SpriteFont BaseFont { get; private set; }
|
||||||
public void Initialize(string font, GraphicsDevice graphicsDevice)
|
public void Initialize(GraphicsDevice graphicsDevice)
|
||||||
{
|
{
|
||||||
GraphicsDevice = graphicsDevice;
|
GraphicsDevice = graphicsDevice;
|
||||||
try
|
|
||||||
{
|
|
||||||
//BaseFont = _content.Load<SpriteFont>(font);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
}
|
|
||||||
for (int i = -10; i < 11; i++)
|
for (int i = -10; i < 11; i++)
|
||||||
{
|
{
|
||||||
layerCollection.Add(i, new List<DrawableUIElement>());
|
layerCollection.Add(i, new List<DrawableUIElement>());
|
||||||
|
@ -35,8 +29,16 @@ namespace MonogameLibrary.UI.Base
|
||||||
static MouseState mouseState, prevmouseState;
|
static MouseState mouseState, prevmouseState;
|
||||||
static KeyboardState keyboardState;
|
static KeyboardState keyboardState;
|
||||||
|
|
||||||
public void LoadContent(ContentManager content)
|
public void LoadContent(ContentManager content, string font)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
BaseFont = content.Load<SpriteFont>(font);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
foreach (var collection in layerCollection)
|
foreach (var collection in layerCollection)
|
||||||
{
|
{
|
||||||
foreach (var item in collection.Value)
|
foreach (var item in collection.Value)
|
||||||
|
|
Loading…
Add table
Reference in a new issue