Esempio n. 1
0
 public LevelEditor(CStrikeModel model)
 {
     driver       = model.DriverInstance;
     input        = model.Input;
     CurrentState = EditorStates.Edit;
     driver.Model.Camera.Position = new Vector2(225, 250);
 }
Esempio n. 2
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Initialize Model and View
            Assets = new Assets(this);
            View   = new CStrikeView(this);
            Model  = new CStrikeModel(this, center, dimensions);
            Model.Initialize();

            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);
        }
Esempio n. 3
0
        /// <summary>
        /// Draws all components of the game
        /// </summary>
        /// <param name="sb"></param>
        /// <param name="model"></param>
        public void Draw(SpriteBatch sb, CStrikeModel model)
        {
            switch (model.CurState)
            {
            case CStrikeModel.State.Menu:
                // Begin shader render
                model.Shader.BeginRender();
                sb.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.AnisotropicClamp, null, null,
                         null);

                // Show counter-terrorist background if true, terrorist background if false
                sb.Draw(model.MenuBackgroundType ? assets.CTMenuBackground : assets.TMenuBackground, Vector2.Zero,
                        Color.White);

                // Draw Background UI elements
                foreach (GUIPage page in model.InterfaceManager.GUIPages)
                {
                    switch (page.Identifier)
                    {
                    case "optionsMenu":
                        sb.End();

                        // Draw gui components which are clipped at the edges
                        sb.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.AnisotropicClamp,
                                 null,
                                 cullableRasterizer, null);
                        sb.GraphicsDevice.ScissorRectangle = new Rectangle(0, 100, 1280, 620);
                        foreach (GUIComponent component in page.Components)
                        {
                            switch (component.Identifier)
                            {
                            case "masterVolumeText":
                                ((TextBox)component).Draw(sb,
                                                          "                        " + model.AudioManager.MasterVolume);
                                break;

                            case "uiVolumeText":
                                ((TextBox)component).Draw(sb,
                                                          "                                   " + model.AudioManager.UiVolume);
                                break;

                            case "musicVolumeText":
                                ((TextBox)component).Draw(sb,
                                                          "                          " + model.AudioManager.MusicVolume);
                                break;

                            case "sfxVolumeText":
                                ((TextBox)component).Draw(sb,
                                                          "          " + model.AudioManager.SoundEffectVolume);
                                break;

                            case "voiceVolumeText":
                                ((TextBox)component).Draw(sb,
                                                          "           " + model.AudioManager.VoiceVolume);
                                break;

                            default:
                                component.Draw(sb);
                                break;
                            }
                        }
                        sb.End();
                        sb.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.AnisotropicClamp,
                                 null, null, null);
                        break;

                    case "defaultMenu":
                        sb.End();
                        sb.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.AnisotropicClamp,
                                 null,
                                 cullableRasterizer, null);
                        sb.GraphicsDevice.ScissorRectangle = new Rectangle(0, 19, 1280, 82);
                        page.Draw(sb);
                        sb.End();
                        sb.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.AnisotropicClamp,
                                 null, null, null);
                        break;

                    default:
                        page.Draw(sb);
                        break;
                    }
                }

                sb.End();
                // Draws the shader
                model.Shader.Draw(sb);
                sb.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, null);

                break;

            case CStrikeModel.State.Options:
                break;

            case CStrikeModel.State.Lobby:
                // Draws the lobby connection
                sb.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, null);


                sb.DrawString(assets.DefaultFont, "Connect to Server: " + model.Address, Vector2.Zero, Color.White);

                sb.DrawString(assets.DefaultFont, "Username: "******"FPS: " + model.DriverInstance.FPS, new Vector2(model.Dimensions.X - (assets.DefaultFont.MeasureString("FPS: " + model.DriverInstance.FPS).X), 0), Color.White);
            sb.End();
        }