/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { GameCode.Graphics.Tile.m_base = Content.Load <Texture2D>("sheet"); GameCode.Graphics.Tile.SpriteCount = new Point(19, 13); m_touch = new TouchInputManager(); m_map = new List <Level>(); m_map.Add(new Town(Android.OS.Build.Serial.GetHashCode() + CurrentFloor)); GeneratingFloor++; m_manager = new Thread(() => ThreadMap()); m_manager.Start(); m_cam = new Camera(GraphicsDevice.Viewport); m_minimap = new minimap(m_map[0].Map.GetLength(0)); m_ui = new Ui(new Vector2(graphics.PreferredBackBufferWidth / 6, graphics.PreferredBackBufferHeight - graphics.PreferredBackBufferHeight / 5), (graphics.PreferredBackBufferWidth / 20)); m_p.Position = new Vector2(m_map[0].m_StartPos.X * TILESIZE, m_map[0].m_StartPos.Y * TILESIZE); m_p.VirtualPosition = m_map[0].m_StartPos; m_minimap.UpdateMap(m_map[0]); m_minimap.ShowAll(); base.Initialize(); }
public override void DrawMe(SpriteBatch sb, minimap minimap, Point playerpos) { sb.Draw(Pixel, new Rectangle(0, 0, LayerSize.X * minimap.ActiveArea.GetLength(0), LayerSize.X * minimap.ActiveArea.GetLength(1)), Color.Black); for (int x = 0; x < Map.GetLength(0); x++) { for (int y = 0; y < Map.GetLength(1); y++) { if (Map[x, y] == 0) { sb.Draw(Pixel, new Rectangle(x * LayerSize.X, y * LayerSize.Y, LayerSize.X, LayerSize.Y), Color.White); } } } sb.Draw(Pixel, new Rectangle(m_StartPos.X * LayerSize.X, m_StartPos.Y * LayerSize.Y, LayerSize.X, LayerSize.Y), Color.Red); sb.Draw(Pixel, new Rectangle(m_WinPos.X * LayerSize.X, m_WinPos.Y * LayerSize.Y, LayerSize.X, LayerSize.Y), Color.Green); //base.DrawMe(sb, minimap, playerpos); }
public void DrawMe(SpriteBatch sb, minimap MiniMap) { Map = m_mazeGen.MapInformation.Map; for (int x = 0; x < Map.GetLength(0); x++) { for (int y = 0; y < Map.GetLength(1); y++) { if (Map[x, y] == 1) { sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Black); } //else if (Map[x, y] == 2 && MiniMap.IsVisible(new Point(x,y))) // sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Green); //else if (Map[x, y] == 3 && MiniMap.IsVisible(new Point(x, y))) // sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Red); VisualMap[x, y].Draw(sb, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y)); } } for (int i = 0; i < m_chests.Count; i++) { if (MiniMap.IsVisible(new Point(m_chests[i].X, m_chests[i].Y))) { sb.Draw(Pixel, new Rectangle(m_chests[i].X * m_LayerSize.X, m_chests[i].Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Blue); } } if (MiniMap.IsVisible(m_StartPos)) { sb.Draw(Pixel, new Rectangle(m_StartPos.X * m_LayerSize.X, m_StartPos.Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Red); } else if (MiniMap.IsVisible(m_WinPos)) { sb.Draw(Pixel, new Rectangle(m_WinPos.X * m_LayerSize.X, m_WinPos.Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Green); } }
public virtual void DrawMe(SpriteBatch sb, minimap minimap, Point playerpos) { sb.Draw(Pixel, new Rectangle(0, 0, m_LayerSize.X * minimap.ActiveArea.GetLength(0), m_LayerSize.X * minimap.ActiveArea.GetLength(1)), Color.Black); for (int x = 0; x < Map.GetLength(0); x++) { for (int y = 0; y < Map.GetLength(1); y++) { if (minimap.Terrain[x, y] == true) { if (Map[x, y] == 0) { sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.White); } else if (Map[x, y] == 2) { sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Green); } else if (Map[x, y] == 3) { sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Red); } VisualMap[x, y].Draw(sb, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y)); } } } for (int x = 0; x < minimap.ActiveArea.GetLength(0); x++) { for (int y = 0; y < minimap.ActiveArea.GetLength(1); y++) { if (minimap.ActiveArea[x, y] == false) { sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Black * 0.75f); } } } for (int i = 0; i < m_chests.Count; i++) { if (minimap.ActiveArea[m_chests[i].X, m_chests[i].Y]) { sb.Draw(Pixel, new Rectangle(m_chests[i].X * m_LayerSize.X, m_chests[i].Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Blue); } } for (int i = 0; i < m_enemys.Count; i++) { if (minimap.ActiveArea[m_enemys[i].VirtualPosition.X, m_enemys[i].VirtualPosition.Y]) { m_enemys[i].DrawMe(sb); } } sb.Draw(Pixel, new Rectangle(m_StartPos.X * m_LayerSize.X, m_StartPos.Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Red); sb.Draw(Pixel, new Rectangle(m_WinPos.X * m_LayerSize.X, m_WinPos.Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Green); }