/// <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 void UpdateMe(GameTime gt, Level level, Ui input, TouchInputManager touchinput) { if (touchinput.m_Touches.Count > 1) { m_timer.X -= (float)gt.ElapsedGameTime.TotalSeconds; } base.UpdateMe(gt, level); }
public void UpdateMe(TouchInputManager input) { BoundingSphere sphere = new BoundingSphere(new Vector3(m_position, 0), m_buttonsize * 2.7f); for (int dir = 0; dir < 4; dir++) { m_buttons[dir].m_isDown = false; } if (input.m_Touches.Count > 0) { for (int i = 0; i < input.m_Touches.Count; i++) { if (sphere.Contains(new Vector3(input.m_Touches[i].Position, 0)) == ContainmentType.Contains) { Vector2 dir = input.m_Touches[i].Position - m_position; float gradient = dir.Y / dir.X; gradient = (float)Math.Atan(gradient) * (180.0f / (float)Math.PI); if (gradient < 45 && gradient > -45 && dir.X > 0) { m_buttons[2].m_isDown = true; } if (gradient < 45 && gradient > -45 && dir.X < 0) { m_buttons[3].m_isDown = true; } if (Math.Abs(gradient) >= 45 && dir.Y > 0) { m_buttons[0].m_isDown = true; } if (Math.Abs(gradient) >= 45 && dir.Y < 0) { m_buttons[1].m_isDown = true; } } } } //for (int dir = 0; dir < 4; dir++) //{ // if (new Rectangle((int)m_position.X, (int)m_position.Y + m_buttonsize, m_buttonsize, m_buttonsize).Contains(input.m_Touches[touchid].Position)) // m_buttons[0].m_isDown = true; // if (new Rectangle((int)m_position.X, (int)m_position.Y - m_buttonsize, m_buttonsize, m_buttonsize).Contains(input.m_Touches[touchid].Position)) // m_buttons[1].m_isDown = true; // if (new Rectangle((int)m_position.X + m_buttonsize, (int)m_position.Y, m_buttonsize, m_buttonsize).Contains(input.m_Touches[touchid].Position)) // m_buttons[2].m_isDown = true; // if (new Rectangle((int)m_position.X - m_buttonsize, (int)m_position.Y, m_buttonsize, m_buttonsize).Contains(input.m_Touches[touchid].Position)) // m_buttons[3].m_isDown = true; //} }
public virtual void UpdateMe(GameTime gt, Player p, TouchInputManager input) { if (input.m_Touches.Count == 5) { m_enemys.Add(new Enemy(this, p)); } if (Game1.PlayerTurn == false) { for (int i = 0; i < m_enemys.Count; i++) { m_enemys[i].TakeTurn(); } Game1.PlayerTurn = true; } for (int i = 0; i < m_enemys.Count; i++) { m_enemys[i].UpdateMe(gt, this); } }