<commit_before>﻿using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Nez.Systems;
using Nez.Textures;
using Microsoft.Xna.Framework.Graphics;


namespace Nez
{
	public class Scene
	{
		public enum SceneResolutionPolicy
		{
			/// <summary>
			/// Default. RenderTexture matches the sceen size
			/// </summary>
			None,
			/// <summary>
			/// The entire application is visible in the specified area without trying to preserve the original aspect ratio. 
			/// Distortion can occur, and the application may appear stretched or compressed.
			/// </summary>
			ExactFit,
			/// <summary>
			/// The entire application fills the specified area, without distortion but possibly with some cropping, 
			/// while maintaining the original aspect ratio of the application.
			/// </summary>
			NoBorder,
			/// <summary>
			/// Pixel perfect version of NoBorder. Scaling is limited to integer values.
			/// </summary>
			NoBorderPixelPerfect,
			/// <summary>
			/// The entire application is visible in the specified area without distortion while maintaining the original 
			/// aspect ratio of the application. Borders can appear on two sides of the application.
			/// </summary>
			ShowAll,
			/// <summary>
			/// Pixel perfect version of ShowAll. Scaling is limited to integer values.
			/// </summary>
			ShowAllPixelPerfect,
			/// <summary>
			/// The application takes the height of the design resolution size and modifies the width of the internal
			/// canvas so that it fits the aspect ratio of the device.
			/// no distortion will occur however you must make sure your application works on different
			/// aspect ratios
			/// </summary>
			FixedHeight,
			/// <summary>
			/// Pixel perfect version of FixedHeight. Scaling is limited to integer values.
			/// </summary>
			FixedHeightPixelPerfect,
			/// <summary>
			/// The application takes the width of the design resolution size and modifies the height of the internal
			/// canvas so that it fits the aspect ratio of the device.
			/// no distortion will occur however you must make sure your application works on different
			/// aspect ratios
			/// </summary>
			FixedWidth,
			/// <summary>
			/// Pixel perfect version of FixedWidth. Scaling is limited to integer values.
			/// </summary>
			FixedWidthPixelPerfect
		}


		/// <summary>
		/// default scene Camera
		/// </summary>
		public Camera camera;

		/// <summary>
		/// clear color that is used in preRender to clear the screen
		/// </summary>
		public Color clearColor = Color.CornflowerBlue;

		/// <summary>
		/// clear color for the final render of the RenderTexture to the framebuffer
		/// </summary>
		public Color letterboxColor = Color.Black;

		/// <summary>
		/// SamplerState used for the final draw of the RenderTexture to the framebuffer
		/// </summary>
		public SamplerState samplerState = SamplerState.PointClamp;

		/// <summary>
		/// Scene-specific ContentManager. Use it to load up any resources that are needed only by this scene. If you have global/multi-scene
		/// resources you can use Core.contentManager to load them since Nez will not ever unload them.
		/// </summary>
		public readonly NezContentManager contentManager;

		/// <summary>
		/// global toggle for PostProcessors
		/// </summary>
		public bool enablePostProcessing;

		/// <summary>
		/// The list of entities within this Scene
		/// </summary>
		public EntityList entities;

		/// <summary>
		/// Manages a list of all the RenderableComponents that are currently on scene Entitys
		/// </summary>
		public readonly RenderableComponentList renderableComponents;

		/// <summary>
		/// default resolution size used for all scenes
		/// </summary>
		static Point defaultDesignResolutionSize;

		/// <summary>
		/// default resolution policy used for all scenes
		/// </summary>
		static SceneResolutionPolicy defaultSceneResolutionPolicy = SceneResolutionPolicy.None;

		/// <summary>
		/// resolution policy used by the scene
		/// </summary><commit_msg>getter for sceneRenderTextureSize<commit_after>﻿using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Nez.Systems;
using Nez.Textures;
using Microsoft.Xna.Framework.Graphics;


namespace Nez
{
	public class Scene
	{
		public enum SceneResolutionPolicy
		{
			/// <summary>
			/// Default. RenderTexture matches the sceen size
			/// </summary>
			None,
			/// <summary>
			/// The entire application is visible in the specified area without trying to preserve the original aspect ratio. 
			/// Distortion can occur, and the application may appear stretched or compressed.
			/// </summary>
			ExactFit,
			/// <summary>
			/// The entire application fills the specified area, without distortion but possibly with some cropping, 
			/// while maintaining the original aspect ratio of the application.
			/// </summary>
			NoBorder,
			/// <summary>
			/// Pixel perfect version of NoBorder. Scaling is limited to integer values.
			/// </summary>
			NoBorderPixelPerfect,
			/// <summary>
			/// The entire application is visible in the specified area without distortion while maintaining the original 
			/// aspect ratio of the application. Borders can appear on two sides of the application.
			/// </summary>
			ShowAll,
			/// <summary>
			/// Pixel perfect version of ShowAll. Scaling is limited to integer values.
			/// </summary>
			ShowAllPixelPerfect,
			/// <summary>
			/// The application takes the height of the design resolution size and modifies the width of the internal
			/// canvas so that it fits the aspect ratio of the device.
			/// no distortion will occur however you must make sure your application works on different
			/// aspect ratios
			/// </summary>
			FixedHeight,
			/// <summary>
			/// Pixel perfect version of FixedHeight. Scaling is limited to integer values.
			/// </summary>
			FixedHeightPixelPerfect,
			/// <summary>
			/// The application takes the width of the design resolution size and modifies the height of the internal
			/// canvas so that it fits the aspect ratio of the device.
			/// no distortion will occur however you must make sure your application works on different
			/// aspect ratios
			/// </summary>
			FixedWidth,
			/// <summary>
			/// Pixel perfect version of FixedWidth. Scaling is limited to integer values.
			/// </summary>
			FixedWidthPixelPerfect
		}


		/// <summary>
		/// default scene Camera
		/// </summary>
		public Camera camera;

		/// <summary>
		/// clear color that is used in preRender to clear the screen
		/// </summary>
		public Color clearColor = Color.CornflowerBlue;

		/// <summary>
		/// clear color for the final render of the RenderTexture to the framebuffer
		/// </summary>
		public Color letterboxColor = Color.Black;

		/// <summary>
		/// SamplerState used for the final draw of the RenderTexture to the framebuffer
		/// </summary>
		public SamplerState samplerState = SamplerState.PointClamp;

		/// <summary>
		/// Scene-specific ContentManager. Use it to load up any resources that are needed only by this scene. If you have global/multi-scene
		/// resources you can use Core.contentManager to load them since Nez will not ever unload them.
		/// </summary>
		public readonly NezContentManager contentManager;

		/// <summary>
		/// global toggle for PostProcessors
		/// </summary>
		public bool enablePostProcessing;

		/// <summary>
		/// The list of entities within this Scene
		/// </summary>
		public EntityList entities;

		/// <summary>
		/// Manages a list of all the RenderableComponents that are currently on scene Entitys
		/// </summary>
		public readonly RenderableComponentList renderableComponents;

		/// <summary>
		/// gets the size of the sceneRenderTexture
		/// </summary>
		/// <value>The size of the scene render texture.</value>
		public Vector2 sceneRenderTextureSize
		{
			get { return new Vector2( _sceneRenderTexture.renderTarget2D.Width, _sceneRenderTexture.renderTarget2D.Height ); }
		}

		/// <summary>
		/// default resolution size used for all scenes
		/// </summary>
		static Point defaultDesignResolutionSize;

		/// <summary>
		/// default resolution policy used for all scenes
		/// </summary>
		static SceneResolutionPolicy defaultSceneResolutionPolicy = SceneResolutionPolicy.None;

		/// <summary>
		/// resolution policy used by the scene
		/// </summary>
{'fraction_non_alphanumeric': 0.09991703212042195, 'fraction_numerical': 0.0004741021690174233, 'mean_word_length': 2.833711949114039, 'pattern_counts': {'":': 0, '<': 91, '<?xml version=': 0, '>': 91, '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': '5859369', 'n_tokens_mistral': 2506, 'n_tokens_neox': 2137, 'n_words': 915}