refactor: Removed Unnecessary Graphics Folder
This commit is contained in:
parent
ff3202eda9
commit
a357f0fdcb
|
@ -1,6 +1,6 @@
|
||||||
using Apos.Shapes;
|
using Apos.Shapes;
|
||||||
|
|
||||||
namespace Pong.Behaviours;
|
namespace Syntriax.Engine.Core.Abstract;
|
||||||
|
|
||||||
public interface IDisplayableShape
|
public interface IDisplayableShape
|
||||||
{
|
{
|
|
@ -2,7 +2,7 @@ using Microsoft.Xna.Framework.Graphics;
|
||||||
|
|
||||||
namespace Syntriax.Engine.Core.Abstract;
|
namespace Syntriax.Engine.Core.Abstract;
|
||||||
|
|
||||||
public interface IDisplayable
|
public interface IDisplayableSprite
|
||||||
{
|
{
|
||||||
public void Draw(SpriteBatch spriteBatch);
|
public void Draw(SpriteBatch spriteBatch);
|
||||||
}
|
}
|
|
@ -6,7 +6,7 @@ using Syntriax.Engine.Core.Abstract;
|
||||||
|
|
||||||
namespace Pong.Behaviours;
|
namespace Pong.Behaviours;
|
||||||
|
|
||||||
public class TextBehaviour : BehaviourOverride, IDisplayable
|
public class TextBehaviour : BehaviourOverride, IDisplayableSprite
|
||||||
{
|
{
|
||||||
public TextBehaviour() { }
|
public TextBehaviour() { }
|
||||||
public TextBehaviour(SpriteFont font) => Font = font;
|
public TextBehaviour(SpriteFont font) => Font = font;
|
||||||
|
|
|
@ -22,7 +22,7 @@ public class GamePong : Game
|
||||||
private ShapeBatch shapeBatch = null!;
|
private ShapeBatch shapeBatch = null!;
|
||||||
|
|
||||||
private GameManager gameManager = null!;
|
private GameManager gameManager = null!;
|
||||||
private BehaviourCacher<IDisplayable> displayableCacher = null!;
|
private BehaviourCacher<IDisplayableSprite> displayableCacher = null!;
|
||||||
private BehaviourCacher<IDisplayableShape> displayableShapeCacher = null!;
|
private BehaviourCacher<IDisplayableShape> displayableShapeCacher = null!;
|
||||||
private MonoGameCameraBehaviour cameraBehaviour = null!;
|
private MonoGameCameraBehaviour cameraBehaviour = null!;
|
||||||
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace Syntriax.Engine.Core.Abstract;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Indicates the object is an <see cref="IAssignable"/> with an assignable <see cref="ISprite"/> field.
|
|
||||||
/// </summary>
|
|
||||||
public interface IAssignableSprite : IAssignable
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Callback triggered when the <see cref="ISprite"/> value has has been assigned a new value.
|
|
||||||
/// </summary>
|
|
||||||
Action<IAssignableSprite>? OnSpriteAssigned { get; set; }
|
|
||||||
|
|
||||||
/// <inheritdoc cref="ISprite" />
|
|
||||||
ISprite Sprite { get; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Assign a value to the <see cref="ISprite"/> field of this object
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sprite">New <see cref="ISprite"/> to assign.</param>
|
|
||||||
/// <returns>
|
|
||||||
/// <see cref="true"/>, if the value given assigned successfully assigned, <see cref="false"/> if not.
|
|
||||||
/// </returns>
|
|
||||||
bool Assign(ISprite sprite);
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
using System;
|
|
||||||
|
|
||||||
using Microsoft.Xna.Framework.Graphics;
|
|
||||||
|
|
||||||
namespace Syntriax.Engine.Core.Abstract;
|
|
||||||
|
|
||||||
// TODO Probably gonna have to rethink this
|
|
||||||
public interface ISprite
|
|
||||||
{
|
|
||||||
Action<ISprite>? OnTextureChanged { get; set; }
|
|
||||||
|
|
||||||
Texture2D Texture2D { get; set; }
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
using System;
|
|
||||||
|
|
||||||
using Microsoft.Xna.Framework.Graphics;
|
|
||||||
|
|
||||||
using Syntriax.Engine.Core.Abstract;
|
|
||||||
|
|
||||||
namespace Syntriax.Engine.Core;
|
|
||||||
|
|
||||||
public class Sprite : ISprite
|
|
||||||
{
|
|
||||||
public Action<ISprite>? OnTextureChanged { get; set; }
|
|
||||||
|
|
||||||
private Texture2D _texture = null!;
|
|
||||||
|
|
||||||
public Texture2D Texture2D
|
|
||||||
{
|
|
||||||
get => _texture;
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (_texture == value)
|
|
||||||
return;
|
|
||||||
|
|
||||||
_texture = value;
|
|
||||||
OnTextureChanged?.Invoke(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
using System;
|
|
||||||
|
|
||||||
using Microsoft.Xna.Framework;
|
|
||||||
using Microsoft.Xna.Framework.Graphics;
|
|
||||||
|
|
||||||
using Syntriax.Engine.Core.Abstract;
|
|
||||||
|
|
||||||
namespace Syntriax.Engine.Graphics.TwoDimensional.Abstract;
|
|
||||||
public interface IDisplayableSprite : IDisplayable, IAssignableSprite
|
|
||||||
{
|
|
||||||
Action<IDisplayableSprite>? OnSpriteEffectsChanged { get; set; }
|
|
||||||
Action<IDisplayableSprite>? OnOriginChanged { get; set; }
|
|
||||||
Action<IDisplayableSprite>? OnColorChanged { get; set; }
|
|
||||||
Action<IDisplayableSprite>? OnDepthChanged { get; set; }
|
|
||||||
|
|
||||||
SpriteEffects SpriteEffects { get; set; }
|
|
||||||
Vector2 Origin { get; set; }
|
|
||||||
Color Color { get; set; }
|
|
||||||
float Depth { get; set; }
|
|
||||||
}
|
|
|
@ -1,117 +0,0 @@
|
||||||
using System;
|
|
||||||
|
|
||||||
using Microsoft.Xna.Framework;
|
|
||||||
using Microsoft.Xna.Framework.Graphics;
|
|
||||||
|
|
||||||
using Syntriax.Engine.Core;
|
|
||||||
using Syntriax.Engine.Core.Abstract;
|
|
||||||
using Syntriax.Engine.Graphics.TwoDimensional.Abstract;
|
|
||||||
|
|
||||||
namespace Syntriax.Engine.Graphics.TwoDimensional;
|
|
||||||
|
|
||||||
public class DisplayableSpriteBehaviour : Behaviour, IDisplayableSprite, IAssignableSprite
|
|
||||||
{
|
|
||||||
public Action<IAssignableSprite>? OnSpriteAssigned { get; set; } = null;
|
|
||||||
public Action<IDisplayableSprite>? OnSpriteEffectsChanged { get; set; } = null;
|
|
||||||
public Action<IDisplayableSprite>? OnOriginChanged { get; set; } = null;
|
|
||||||
public Action<IDisplayableSprite>? OnColorChanged { get; set; } = null;
|
|
||||||
public Action<IDisplayableSprite>? OnDepthChanged { get; set; } = null;
|
|
||||||
|
|
||||||
private ISprite _sprite = null!;
|
|
||||||
private Color _color = Color.White;
|
|
||||||
private float _depth = 0f;
|
|
||||||
private SpriteEffects _spriteEffects = SpriteEffects.None;
|
|
||||||
private Vector2 _origin = Vector2.One * .5f;
|
|
||||||
|
|
||||||
|
|
||||||
public ISprite Sprite => _sprite;
|
|
||||||
|
|
||||||
public SpriteEffects SpriteEffects
|
|
||||||
{
|
|
||||||
get => _spriteEffects;
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (_spriteEffects == value)
|
|
||||||
return;
|
|
||||||
|
|
||||||
_spriteEffects = value;
|
|
||||||
OnSpriteEffectsChanged?.Invoke(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Vector2 Origin
|
|
||||||
{
|
|
||||||
get => _origin;
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (_origin == value)
|
|
||||||
return;
|
|
||||||
|
|
||||||
_origin = value;
|
|
||||||
OnOriginChanged?.Invoke(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Color Color
|
|
||||||
{
|
|
||||||
get => _color;
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (_color == value)
|
|
||||||
return;
|
|
||||||
|
|
||||||
_color = value;
|
|
||||||
OnColorChanged?.Invoke(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public float Depth
|
|
||||||
{
|
|
||||||
get => _depth;
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (_depth == value)
|
|
||||||
return;
|
|
||||||
|
|
||||||
_depth = value;
|
|
||||||
OnDepthChanged?.Invoke(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Draw(SpriteBatch spriteBatch)
|
|
||||||
{
|
|
||||||
if (!BehaviourController.GameObject.StateEnable.Enabled || !StateEnable.Enabled)
|
|
||||||
return;
|
|
||||||
|
|
||||||
ITransform transform = BehaviourController.GameObject.Transform;
|
|
||||||
Vector2D position = transform.Position;
|
|
||||||
Vector2D scale = transform.Scale;
|
|
||||||
|
|
||||||
Rectangle rectangle = new((int)position.X, -(int)position.Y, (int)(Sprite.Texture2D.Width * scale.X), (int)(Sprite.Texture2D.Height * scale.Y));
|
|
||||||
|
|
||||||
spriteBatch.Draw(Sprite.Texture2D, rectangle, null, Color, transform.Rotation, new Vector2(Sprite.Texture2D.Width, Sprite.Texture2D.Height) * Origin, SpriteEffects, Depth);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool Assign(ISprite sprite)
|
|
||||||
{
|
|
||||||
_sprite = sprite;
|
|
||||||
OnSpriteAssigned?.Invoke(this);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DisplayableSpriteBehaviour() => OnUnassigned += OnUnassign;
|
|
||||||
public DisplayableSpriteBehaviour(
|
|
||||||
Color? color = null,
|
|
||||||
float? depth = null,
|
|
||||||
SpriteEffects? spriteEffects = null,
|
|
||||||
Vector2? origin = null)
|
|
||||||
{
|
|
||||||
OnUnassigned += OnUnassign;
|
|
||||||
|
|
||||||
_color = color ?? _color;
|
|
||||||
_depth = depth ?? _depth;
|
|
||||||
_spriteEffects = spriteEffects ?? _spriteEffects;
|
|
||||||
_origin = origin ?? _origin;
|
|
||||||
}
|
|
||||||
private void OnUnassign(IAssignable assignable) => _sprite = null!;
|
|
||||||
}
|
|
Loading…
Reference in New Issue