public void Status(Player player) { MenuChoices.Add(new Text("SegoeUIMono", "Name: " + player.Name, Color.White, Vector2.Zero)); MenuChoices.Add(new Text("SegoeUIMono", "Strength: ", Color.White, Vector2.Zero)); MenuChoices.Add(new Text("SegoeUIMono", "Inventory", Color.White, Vector2.Zero)); MenuChoices.Add(new Text("SegoeUIMono", "Options", Color.White, Vector2.Zero)); MenuChoices.Add(new Text("SegoeUIMono", "Exit Game", Color.White, Vector2.Zero)); }
public bool CheckCollisionY(Player player, Point collisionPoint) { foreach (Tile tile in collisionTiles) { if (tile.sheetPoint == collisionPoint && player.CollisionRectangle().Intersects(tile.CollisionRectangle())) { if (player.Y + player.origin.Y > tile.Y + tile.origin.Y - Tile.tileSize / 2 && player.Y + player.origin.Y < tile.Y + tile.origin.Y + Tile.tileSize / 2) { return true; } } } return false; }
public void SetPlayer() { Tile Start = tileManager.TileGetByColor(StartTile); if (Start != null) { player = new Player("Player", "Soldier", Start.Pos + Start.origin, 5, "Shot"); player.AddGhosts(); //enemies.Add(new Enemy(new Point(1, 1), "Enem", Start.Pos + Start.origin, 0.5f)); //enemies[0].AddGhosts(); } foreach (Tile tile in tileManager.collisionTiles) { if (tile.sheetPoint == InteractTile) { int spinThisMuch = 0; int tileIndex = tileManager.collisionTiles.IndexOf(tile); if (tileManager.GetTile(2, tileIndex).sheetPoint == new Point(5, 0) || tileManager.GetTile(2, tileIndex).sheetPoint == new Point(6, 0)) { spinThisMuch = 1; } else if (tileManager.GetTile(2, tileIndex).sheetPoint == new Point(9, 0) || tileManager.GetTile(2, tileIndex).sheetPoint == new Point(10, 0)) { spinThisMuch = 3; } else if (tileManager.GetTile(2, tileIndex).sheetPoint == new Point(11, 0) || tileManager.GetTile(2, tileIndex).sheetPoint == new Point(12, 0)) { spinThisMuch = 2; } bool[] falseBools = new bool[2]; falseBools[0] = false; falseBools[1] = false; Levers.Add(new InteractableTerrain(true, new Point(2, 1), falseBools, "Lever", tile.Pos)); Levers.Last<InteractableTerrain>().rotation += MathHelper.ToRadians(90 * spinThisMuch); } if (tile.sheetPoint == EffectTile) { int spinThisMuch = 0; int tileIndex = tileManager.collisionTiles.IndexOf(tile); if (tileManager.GetTile(2, tileIndex).sheetPoint == new Point(12, 1) || tileManager.GetTile(2, tileIndex).sheetPoint == new Point(12, 2) || tileManager.GetTile(2, tileIndex).sheetPoint == new Point(12, 3)) { spinThisMuch = 3; } else if (tileManager.GetTile(2, tileIndex).sheetPoint == new Point(9, 3) || tileManager.GetTile(2, tileIndex).sheetPoint == new Point(10, 3) || tileManager.GetTile(2, tileIndex).sheetPoint == new Point(11, 3)) { spinThisMuch = 2; } else if (tileManager.GetTile(2, tileIndex).sheetPoint == new Point(13, 1) || tileManager.GetTile(2, tileIndex).sheetPoint == new Point(13, 2) || tileManager.GetTile(2, tileIndex).sheetPoint == new Point(13, 3)) { spinThisMuch = 1; } bool[] DoorBools = new bool[3]; DoorBools[0] = false; DoorBools[1] = true; DoorBools[2] = false; Doors.Add(new InteractableTerrain(false, new Point(3, 1), DoorBools, "Door", tile.Pos)); Doors.Last<InteractableTerrain>().Switch(new Point(1, 0)); Doors.Last<InteractableTerrain>().rotation += MathHelper.ToRadians(90 * spinThisMuch); } } }