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); }
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); }
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(); }
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); }
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); } }
public World(Visualisation visualisation) { m_vis = visualisation; }
public World(Visualisation visualisation) { m_vis = visualisation; }
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; } } }