public void LoadIcons(GraphicsDevice graphics, String bullet_icon, String enemy_icon, ContentManager content, Visualisation vis)
        {
            for (int i = 0; i < m_bullet_count; i++)
            {
                Graphics.Entity.Sprite new_bullet = new Graphics.Entity.Sprite();
                new_bullet.Init(content.Load<Texture2D>(bullet_icon));
                new_bullet.Visible = false;
                new_bullet.destination = new Rectangle(
                    (int)((((float)graphics.Viewport.Width / 1366.0f) * 175.0f) + (((float)graphics.Viewport.Width / 1366.0f) * 15.0f * i)),
                    (int)(((float)graphics.Viewport.Height / 768.0f) * 714.0f),
                    (int)(((float)graphics.Viewport.Width / 1366.0f) * 15.0f),
                    (int)(((float)graphics.Viewport.Height / 768.0f) * 47.0f));
                m_bullets.Add(new_bullet);
                vis.AddEntity(new_bullet);
            }

            m_enemy_count = Enemy_Container.enemies().Count;
            for (int i = 0; i < m_enemy_count; i++)
            {
                Graphics.Entity.Sprite new_enemy = new Graphics.Entity.Sprite();
                new_enemy.Init(content.Load<Texture2D>(enemy_icon));
                new_enemy.Visible = false;
                new_enemy.destination = new Rectangle(
                    (int)((((float)graphics.Viewport.Width / 1366.0f) * 171.0f) + (((float)graphics.Viewport.Width / 1366.0f) * 31.0f * i)),
                    (int)(((float)graphics.Viewport.Height / 768.0f) * 664.0f),
                    (int)(((float)graphics.Viewport.Width / 1366.0f) * 31.0f),
                    (int)(((float)graphics.Viewport.Height / 768.0f) * 34.0f));
                m_enemy.Add(new_enemy);
                vis.AddEntity(new_enemy);
            }
        }
        public void Init(ContentManager content, Visualisation vis, World world, GraphicsDevice graphics)
        {
            m_title_screen = new Graphics.Entity.Sprite();
            m_title_screen.Init(content.Load<Texture2D>("Menu"), graphics.Viewport.Bounds);
            vis.AddEntity(m_title_screen);

            m_menu_text = new Graphics.Entity.Text[3];

            for (int i = 0; i < 3; i++)
            {
                m_menu_text[i] = new Graphics.Entity.Text();
                m_menu_text[i].Init(content.Load<SpriteFont>("InGameFont"));
                vis.AddEntity(m_menu_text[i]);
            }

            m_menu_text[0].text = "Easy";
            m_menu_text[0].position = new Vector2(
                (((float)graphics.Viewport.Width / 1366.0f) * 641.0f),
                (((float)graphics.Viewport.Height / 768.0f) * 366.0f));

            m_menu_text[1].text = "Medium";
            m_menu_text[1].position = new Vector2(
                (((float)graphics.Viewport.Width / 1366.0f) * 619.0f),
                (((float)graphics.Viewport.Height / 768.0f) * 430.0f));

            m_menu_text[2].text = "Hard";
            m_menu_text[2].position = new Vector2(
                (((float)graphics.Viewport.Width / 1366.0f) * 637.0f),
                (((float)graphics.Viewport.Height / 768.0f) * 490.0f));

            int height = (int)m_menu_text[2].font.MeasureString("Hard").Y;
            m_cursor = new Graphics.Entity.Sprite();
            m_cursor.Init(content.Load<Texture2D>("cursor"), new Rectangle( 0, 0, height, height ) );
            vis.AddEntity(m_cursor);
        }
 public virtual void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
 {
     m_model.position = m_position;
     m_model.rotation = m_rotation;
     m_model.scale = m_scale;
     m_model.view = Camera.LookAt();
     m_model.projection = Camera.Projection(graphics);
 }
Ejemplo n.º 4
0
 public virtual void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
 {
     m_model.position   = m_position;
     m_model.rotation   = m_rotation;
     m_model.scale      = m_scale;
     m_model.view       = Camera.LookAt();
     m_model.projection = Camera.Projection(graphics);
 }
        public override void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
        {
            //point plain at camera...
            Random rand = new Random();
            m_rotation.Z += rand.Next(100) * 0.01f;

            m_scale = new Vector3(rand.Next(1000) * 0.01f, rand.Next(1000) * 0.01f, 1.0f);

            base.update(vis, time, graphics, gamestate);
        }
        public override void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
        {
            //point plain at camera...
            Random rand = new Random();

            m_rotation.Z += rand.Next(100) * 0.01f;

            m_scale = new Vector3(rand.Next(1000) * 0.01f, rand.Next(1000) * 0.01f, 1.0f);

            base.update(vis, time, graphics, gamestate);
        }
Ejemplo n.º 7
0
        public override void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
        {
            switch (m_state)
            {
            case enemyState.Standing:

                break;

            case enemyState.Walking:
                if (m_way_points.Count > 1)
                {
                    m_position += (m_move_distance * (0.08f * GamePlay.difficulty.GetHashCode()));

                    float length = (m_way_points[m_active_way_point] - m_position).Length();

                    m_rotation.Y = m_destination_angle;

                    if (length <= 1.0f)
                    {
                        m_active_way_point++;
                        if (m_active_way_point >= m_way_points.Count)
                        {
                            m_active_way_point = 0;
                        }

                        m_move_distance = m_way_points[m_active_way_point] - m_position;
                        m_move_distance.Normalize();

                        m_rot_offset = Vector3.Dot(m_move_distance, Vector3.Forward) < 0 ? 0.0f : (float)Math.PI;

                        m_destination_angle = (float)Math.Atan((m_position.X - m_way_points[m_active_way_point].X)
                                                               / (m_position.Z - m_way_points[m_active_way_point].Z)) + m_rot_offset;
                    }
                }
                else
                {
                    m_state = enemyState.Standing;
                }
                break;

            case enemyState.Dead:
                if (m_rotation.X >= -MathHelper.PiOver2)
                {
                    m_rotation.X -= 0.05f;
                    m_position.Y += 0.01f;
                }
                break;
            }

            base.update(vis, time, graphics, gamestate);
        }
        public override void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
        {
            if (m_dead)
            {
                foreach (Entity_Explosion exp in m_explosion)
                {
                    Vector3 move_distance = Camera.position - exp.position;
                    move_distance.Normalize();
                    exp.position += move_distance;
                }
            }

            base.update(vis, time, graphics, gamestate);
        }
        protected override void Initialize()
        {
            graphics.PreferredBackBufferWidth = 1280;
            graphics.PreferredBackBufferHeight = 720;
            graphics.ApplyChanges();

            Input.Init(GraphicsDevice.Viewport);
            GamePlay.Init();
            m_vis = new Visualisation();
            m_world = new World(m_vis);
            m_menu = new MenuController();

            base.Initialize();
        }
Ejemplo n.º 10
0
        protected override void Initialize()
        {
            graphics.PreferredBackBufferWidth  = 1280;
            graphics.PreferredBackBufferHeight = 720;
            graphics.ApplyChanges();

            Input.Init(GraphicsDevice.Viewport);
            GamePlay.Init();
            m_vis   = new Visualisation();
            m_world = new World(m_vis);
            m_menu  = new MenuController();

            base.Initialize();
        }
        public override void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
        {
            if (m_dead)
            {
                foreach (Entity_Explosion exp in m_explosion)
                {
                    Vector3 move_distance = Camera.position - exp.position;
                    move_distance.Normalize();
                    exp.position += move_distance;
                }
            }

            base.update(vis, time, graphics, gamestate);
        }
        public void Init(ContentManager content, Visualisation vis, World world, GraphicsDevice graphics)
        {
            m_title_screen = new Graphics.Entity.Sprite();
            m_title_screen.Init(content.Load <Texture2D>("Menu"), graphics.Viewport.Bounds);
            vis.AddEntity(m_title_screen);

            m_menu_text = new Graphics.Entity.Text[3];

            for (int i = 0; i < 3; i++)
            {
                m_menu_text[i] = new Graphics.Entity.Text();
                m_menu_text[i].Init(content.Load <SpriteFont>("InGameFont"));
                vis.AddEntity(m_menu_text[i]);
            }


            m_menu_text[0].text     = "Easy";
            m_menu_text[0].position = new Vector2(
                (((float)graphics.Viewport.Width / 1366.0f) * 641.0f),
                (((float)graphics.Viewport.Height / 768.0f) * 366.0f));

            m_menu_text[1].text     = "Medium";
            m_menu_text[1].position = new Vector2(
                (((float)graphics.Viewport.Width / 1366.0f) * 619.0f),
                (((float)graphics.Viewport.Height / 768.0f) * 430.0f));

            m_menu_text[2].text     = "Hard";
            m_menu_text[2].position = new Vector2(
                (((float)graphics.Viewport.Width / 1366.0f) * 637.0f),
                (((float)graphics.Viewport.Height / 768.0f) * 490.0f));

            int height = (int)m_menu_text[2].font.MeasureString("Hard").Y;

            m_cursor = new Graphics.Entity.Sprite();
            m_cursor.Init(content.Load <Texture2D>("cursor"), new Rectangle(0, 0, height, height));
            vis.AddEntity(m_cursor);
        }
Ejemplo n.º 13
0
 public override void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
 {
     base.update(vis, time, graphics, gamestate);
 }
 public override void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
 {
     base.update(vis, time, graphics, gamestate);
 }
 public virtual void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
 {
 }
        public override void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
        {
            if (!m_lost)
            {
                switch (gamestate)
                {
                case GameState.game:
#if DEBUG
                    if (Input.Down)
                    {
                        Camera.Move(new Vector3(0, 0, -4));
                    }
                    if (Input.Up)
                    {
                        Camera.Move(new Vector3(0, 0, 4));
                    }
                    if (Input.Left)
                    {
                        Camera.Move(new Vector3(-4, 0, 0));
                    }
                    if (Input.Right)
                    {
                        Camera.Move(new Vector3(4, 0, 0));
                    }
#endif
                    float offset = ((float)Math.Sin(time.TotalGameTime.TotalMilliseconds * 0.001f) * (0.0001f * (GamePlay.difficulty.GetHashCode() * 3)));
#if DEBUG
                    offset = 0.0f;
#endif
                    Camera.Turn(new Vector3((Input.Y * 0.01f) + offset, Input.X * 0.01f, 0.0f));

                    if (!m_has_won)
                    {
                        Camera.fov = Camera.fov + (Input.Zoom * -0.017f);
                    }
                    else
                    {
                        Camera.fov = (float)Math.PI / 3.0f;
                    }

                    m_debug_text.text = "Camera Position : " + Camera.position.ToString() +
                                        "\nCamera Rotation : " + Camera.rotation.ToString();

                    bool shot_fired = false;

                    if (Input.Fire && m_bullet_count > 0 &&
                        (float)time.TotalGameTime.TotalMilliseconds - m_last_shot > 2000.0f)
                    {
                        m_bullets[m_bullet_count - 1].Visible = false;
                        m_bullet_count--;
                        shot_fired  = true;
                        m_last_shot = (float)time.TotalGameTime.TotalMilliseconds;
                        m_gun_fire.Play();
                    }

                    List <Entity_Enemy> list = Enemy_Container.enemies();
                    for (int i = 0; i < list.Count; i++)
                    {
                        float?shot_ray = Camera.CastBulletRay(list[i], graphics);
                        if (shot_ray != null)
                        {
                            if (shot_fired && m_bullet_count > 0)
                            {
                                list[i].Kill();
                                m_enemy[m_enemy_count - 1].Visible = false;
                                m_enemy_count--;
                            }

                            m_debug_text.text += "\nEnemy Id : " + i
                                                 + "\nPosition : " + list[i].position
                                                 + "\nRotation : " + list[i].rotation;
                        }
                    }

                    if (m_enemy_count == 0)
                    {
                        m_has_won = true;
                    }

                    break;

                case GameState.menu:
                    offset          = ((float)Math.Sin(time.TotalGameTime.TotalMilliseconds * 0.0005f) * 0.1f);
                    Camera.rotation = new Vector3(-0.49f + offset, 0.34f, 0.0f);
                    break;
                }
            }
        }
        public void LoadIcons(GraphicsDevice graphics, String bullet_icon, String enemy_icon, ContentManager content, Visualisation vis)
        {
            for (int i = 0; i < m_bullet_count; i++)
            {
                Graphics.Entity.Sprite new_bullet = new Graphics.Entity.Sprite();
                new_bullet.Init(content.Load <Texture2D>(bullet_icon));
                new_bullet.Visible     = false;
                new_bullet.destination = new Rectangle(
                    (int)((((float)graphics.Viewport.Width / 1366.0f) * 175.0f) + (((float)graphics.Viewport.Width / 1366.0f) * 15.0f * i)),
                    (int)(((float)graphics.Viewport.Height / 768.0f) * 714.0f),
                    (int)(((float)graphics.Viewport.Width / 1366.0f) * 15.0f),
                    (int)(((float)graphics.Viewport.Height / 768.0f) * 47.0f));
                m_bullets.Add(new_bullet);
                vis.AddEntity(new_bullet);
            }

            m_enemy_count = Enemy_Container.enemies().Count;
            for (int i = 0; i < m_enemy_count; i++)
            {
                Graphics.Entity.Sprite new_enemy = new Graphics.Entity.Sprite();
                new_enemy.Init(content.Load <Texture2D>(enemy_icon));
                new_enemy.Visible     = false;
                new_enemy.destination = new Rectangle(
                    (int)((((float)graphics.Viewport.Width / 1366.0f) * 171.0f) + (((float)graphics.Viewport.Width / 1366.0f) * 31.0f * i)),
                    (int)(((float)graphics.Viewport.Height / 768.0f) * 664.0f),
                    (int)(((float)graphics.Viewport.Width / 1366.0f) * 31.0f),
                    (int)(((float)graphics.Viewport.Height / 768.0f) * 34.0f));
                m_enemy.Add(new_enemy);
                vis.AddEntity(new_enemy);
            }
        }
Ejemplo n.º 18
0
 public World(Visualisation visualisation)
 {
     m_vis = visualisation;
 }
 public World(Visualisation visualisation)
 {
     m_vis = visualisation;
 }
Ejemplo n.º 20
0
 public virtual void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
 {
 }
        public override void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
        {
            switch (m_state)
            {
                case enemyState.Standing :

                    break;
                case enemyState.Walking:
                    if (m_way_points.Count > 1)
                    {
                        m_position += (m_move_distance * (0.08f * GamePlay.difficulty.GetHashCode()) );

                        float length = (m_way_points[m_active_way_point] - m_position).Length();

                        m_rotation.Y = m_destination_angle;

                        if (length <= 1.0f)
                        {
                            m_active_way_point++;
                            if (m_active_way_point >= m_way_points.Count)
                                m_active_way_point = 0;

                            m_move_distance = m_way_points[m_active_way_point] - m_position;
                            m_move_distance.Normalize();

                            m_rot_offset = Vector3.Dot(m_move_distance, Vector3.Forward) < 0 ? 0.0f : (float)Math.PI;

                            m_destination_angle = (float)Math.Atan((m_position.X - m_way_points[m_active_way_point].X)
                                                        / (m_position.Z - m_way_points[m_active_way_point].Z)) + m_rot_offset;

                        }
                    }
                    else
                    {
                        m_state = enemyState.Standing;
                    }
                    break;
                case enemyState.Dead:
                    if (m_rotation.X >= -MathHelper.PiOver2)
                    {
                        m_rotation.X -= 0.05f;
                        m_position.Y += 0.01f;
                    }
                    break;
            }

            base.update(vis, time, graphics, gamestate);
        }
        public override void update(Visualisation vis, GameTime time, GraphicsDevice graphics, GameState gamestate)
        {
            if (!m_lost)
            {
                switch (gamestate)
                {
                    case GameState.game:
            #if DEBUG
                        if (Input.Down) Camera.Move(new Vector3(0, 0, -4));
                        if (Input.Up) Camera.Move(new Vector3(0, 0, 4));
                        if (Input.Left) Camera.Move(new Vector3(-4, 0, 0));
                        if (Input.Right) Camera.Move(new Vector3(4, 0, 0));
            #endif
                        float offset = ((float)Math.Sin(time.TotalGameTime.TotalMilliseconds * 0.001f) * (0.0001f * (GamePlay.difficulty.GetHashCode() * 3)));
            #if DEBUG
                        offset = 0.0f;
            #endif
                        Camera.Turn(new Vector3((Input.Y * 0.01f) + offset, Input.X * 0.01f, 0.0f));

                        if (!m_has_won) Camera.fov = Camera.fov + (Input.Zoom * -0.017f); else Camera.fov = (float)Math.PI / 3.0f;

                        m_debug_text.text = "Camera Position : " + Camera.position.ToString() +
                            "\nCamera Rotation : " + Camera.rotation.ToString();

                        bool shot_fired = false;

                        if (Input.Fire && m_bullet_count > 0 &&
                             (float)time.TotalGameTime.TotalMilliseconds - m_last_shot > 2000.0f)
                        {
                            m_bullets[m_bullet_count - 1].Visible = false;
                            m_bullet_count--;
                            shot_fired = true;
                            m_last_shot = (float)time.TotalGameTime.TotalMilliseconds;
                            m_gun_fire.Play();
                        }

                        List<Entity_Enemy> list = Enemy_Container.enemies();
                        for (int i = 0; i < list.Count; i++)
                        {
                            float? shot_ray = Camera.CastBulletRay(list[i], graphics);
                            if (shot_ray != null)
                            {
                                if (shot_fired && m_bullet_count > 0)
                                {
                                    list[i].Kill();
                                    m_enemy[m_enemy_count - 1].Visible = false;
                                    m_enemy_count--;
                                }

                                m_debug_text.text += "\nEnemy Id : " + i
                                    + "\nPosition : " + list[i].position
                                    + "\nRotation : " + list[i].rotation;
                            }
                        }

                        if (m_enemy_count == 0) m_has_won = true;

                        break;

                    case GameState.menu:
                        offset = ((float)Math.Sin(time.TotalGameTime.TotalMilliseconds * 0.0005f) * 0.1f);
                        Camera.rotation = new Vector3(-0.49f + offset, 0.34f, 0.0f);
                        break;

                }
            }
        }