示例#1
0
        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;
        }