<commit_before>﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Xemio.GameLibrary.Components;
using Xemio.GameLibrary.Input;
using Xemio.GameLibrary.Rendering;
using Xemio.GameLibrary.Sound;

namespace Xemio.GameLibrary.Game
{
    public abstract class Scene : CachedSceneProvider, IEnumerable<Scene>
    {
        #region Constructors
        /// <summary>
        /// Initializes a new instance of the <see cref="Scene"/> class.
        /// </summary>
        public Scene()
        {
            this._scenes = new List<Scene>();
        }
        #endregion

        #region Fields
        private List<Scene> _scenes;
        #endregion

        #region Properties
        /// <summary>
        /// Gets a value indicating whether this <see cref="Scene"/> is loaded.
        /// </summary>
        public bool Loaded { get; private set; }
        /// <summary>
        /// Gets the parent.
        /// </summary>
        public ISceneProvider Parent { get; internal set; }
        /// <summary>
        /// Gets the graphics device.
        /// </summary>
        public GraphicsDevice GraphicsDevice
        {
            get { return XGL.GetComponent<GraphicsDevice>(); }
        }
        /// <summary>
        /// Gets the key listener.
        /// </summary>
        public KeyListener Keyboard
        {
            get { return XGL.GetComponent<KeyListener>(); }
        }
        /// <summary>
        /// Gets the mouse listener.
        /// </summary>
        public MouseListener Mouse
        {
            get { return XGL.GetComponent<MouseListener>(); }
        }
        /// <summary>
        /// Gets the scene manager.
        /// </summary>
        public SceneManager SceneManager
        {
            get { return XGL.GetComponent<SceneManager>(); }
        }
        /// <summary>
        /// Gets the sound manager.
        /// </summary>
        public SoundManager SoundManager
        {<commit_msg>Added properties for the "ITextureFactory", "RenderManager" and "Geometry" to the Scene class.<commit_after>﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Xemio.GameLibrary.Components;
using Xemio.GameLibrary.Input;
using Xemio.GameLibrary.Rendering;
using Xemio.GameLibrary.Sound;
using Xemio.GameLibrary.Rendering.Geometry;

namespace Xemio.GameLibrary.Game
{
    public abstract class Scene : CachedSceneProvider, IEnumerable<Scene>
    {
        #region Constructors
        /// <summary>
        /// Initializes a new instance of the <see cref="Scene"/> class.
        /// </summary>
        public Scene()
        {
            this._scenes = new List<Scene>();
        }
        #endregion

        #region Fields
        private List<Scene> _scenes;
        #endregion

        #region Properties
        /// <summary>
        /// Gets a value indicating whether this <see cref="Scene"/> is loaded.
        /// </summary>
        public bool Loaded { get; private set; }
        /// <summary>
        /// Gets the parent.
        /// </summary>
        public ISceneProvider Parent { get; internal set; }
        /// <summary>
        /// Gets the graphics device.
        /// </summary>
        public GraphicsDevice GraphicsDevice
        {
            get { return XGL.GetComponent<GraphicsDevice>(); }
        }
        /// <summary>
        /// Gets the texture factory.
        /// </summary>
        public ITextureFactory TextureFactory
        {
            get { return this.GraphicsDevice.TextureFactory; }
        }
        /// <summary>
        /// Gets the render manager.
        /// </summary>
        public IRenderManager RenderManager
        {
            get { return this.GraphicsDevice.RenderManager; }
        }
        /// <summary>
        /// Gets the geometry.
        /// </summary>
        public IGeometryProvider Geometry
        {
            get { return this.GraphicsDevice.Geometry; }
        }
        /// <summary>
        /// Gets the key listener.
        /// </summary>
        public KeyListener Keyboard
        {
            get { return XGL.GetComponent<KeyListener>(); }
        }
        /// <summary>
        /// Gets the mouse listener.
        /// </summary>
        public MouseListener Mouse
        {
            get { return XGL.GetComponent<MouseListener>(); }
        }
        /// <summary>
        /// Gets the scene manager.
        /// </summary>
        public SceneManager SceneManager
        {
            get { return XGL.GetComponent<SceneManager>(); }
        }
        /// <summary>
        /// Gets the sound manager.
        /// </summary>
        public SoundManager SoundManager
        {
{'fraction_non_alphanumeric': 0.1152073732718894, 'fraction_numerical': 0.0, 'mean_word_length': 1.6193088315962698, 'pattern_counts': {'":': 0, '<': 59, '<?xml version=': 0, '>': 59, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '101393', 'n_tokens_mistral': 1209, 'n_tokens_neox': 1200, 'n_words': 330}