public Cv_PlayerView(Cv_Player player, Vector2?size, Vector2 startPos, SpriteBatch spriteBatch = null) { m_ID = Cv_GameViewID.INVALID_GAMEVIEW; GameState = Cv_GameState.Initializing; RegisterEventListeners(); PlayerIdx = player; ScreenElements = new List <Cv_ScreenElement>(); m_bAreSoundsPaused = false; Renderer = new Cv_Renderer(spriteBatch); if (size == null) { Renderer.ScreenSizePercent = new Vector2(1, 1); Renderer.ScreenWidth = CaravelApp.Instance.Graphics.PreferredBackBufferWidth; Renderer.ScreenHeight = CaravelApp.Instance.Graphics.PreferredBackBufferHeight; } else { Renderer.ScreenSizePercent = size.Value; Renderer.ScreenWidth = (int)(size.Value.X * CaravelApp.Instance.Graphics.PreferredBackBufferWidth); Renderer.ScreenHeight = (int)(size.Value.Y * CaravelApp.Instance.Graphics.PreferredBackBufferHeight); } Renderer.ScreenOriginPercent = startPos; Renderer.VirtualWidth = Renderer.ScreenWidth; Renderer.VirtualHeight = Renderer.ScreenHeight; Renderer.StartX = (int)(startPos.X * CaravelApp.Instance.Graphics.PreferredBackBufferWidth); Renderer.StartY = (int)(startPos.Y * CaravelApp.Instance.Graphics.PreferredBackBufferHeight); Renderer.Initialize(); Cv_DrawUtils.Initialize(); ListenerEntity = null; Scene = CaravelApp.Instance.Scene; }