47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
using Friflo.Engine.ECS;
|
|
using Microsoft.Xna.Framework;
|
|
using MrGameEng.Graphics;
|
|
|
|
namespace MrGameEng.Sample;
|
|
|
|
/// <summary>Действия игрока, привязанные к клавишам через ActionMap.</summary>
|
|
public enum SampleAction
|
|
{
|
|
MoveLeft,
|
|
MoveRight,
|
|
MoveUp,
|
|
MoveDown,
|
|
Jump,
|
|
Pause,
|
|
ToggleMusic,
|
|
SwitchScene,
|
|
}
|
|
|
|
/// <summary>Скорость для движущихся сущностей сэмпла.</summary>
|
|
public struct Velocity : IComponent
|
|
{
|
|
public Vector2 Value;
|
|
}
|
|
|
|
/// <summary>Слои рендера сэмпла; регистрируются один раз на общий Renderer2D.</summary>
|
|
public static class SampleLayers
|
|
{
|
|
public static LayerId Actors { get; private set; }
|
|
|
|
public static LayerId Ui { get; private set; }
|
|
|
|
private static bool _registered;
|
|
|
|
public static void EnsureRegistered(Renderer2D renderer)
|
|
{
|
|
if (_registered)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Actors = renderer.Layers.Register("Actors", LayerSpace.World, LayerSortMode.YSort);
|
|
Ui = renderer.Layers.Register("UI", LayerSpace.Screen);
|
|
_registered = true;
|
|
}
|
|
}
|