#region usings using OpenTK; using OpenTK.Graphics; using SM.Base.Objects.Static; using SM.Base.Scene; using SM.Base.Window; using SM2D.Drawing; #endregion namespace SM2D.Scene { /// /// The scene allows connecting different objects to render together. /// public class Scene : GenericScene { private static readonly DrawObject2D _axisHelper; /// /// This determent how large the axishelper should be. /// public float AxisHelperSize = 100; static Scene() { _axisHelper = new DrawObject2D {Mesh = AxisHelper.Object}; } /// /// This creates a new scene. /// public Scene() { _Background = new DrawBackground(Color4.Black); Objects = new ItemCollection(); BackgroundCamera = new Camera(); HUDCamera = new Camera(); } /// /// Gets/Sets the background. /// public DrawBackground Background { get => (DrawBackground) _Background; set => _Background = value; } /// public override void DrawHUD(DrawContext context) { context.ModelMatrix *= Matrix4.CreateTranslation(0,0,1); base.DrawHUD(context); } /// public override void DrawDebug(DrawContext context) { if (ShowAxisHelper) { _axisHelper.Transform.Size.Set(AxisHelperSize, AxisHelperSize); _axisHelper.Draw(context); } } } }