public void CreateEnemies() { Database database = new Database(); Layer temp = Layers.Find(x => x.Layername == "Enemy"); enemies = new List <Enemy>(); Enemy enemy; for (int x = 0; x < GameSettings.Instance.TileMapSize.X; x++) { for (int y = 0; y < GameSettings.Instance.TileMapSize.Y; y++) { if (temp.getTileID(x, y) != 0) { enemy = new Enemy(x, y, temp.getTileID(x, y), Convert.ToInt32(database.ReturnEnemyHP("'Wolf'"))); enemies.Add(enemy); } } } /*enemy = new Enemy((int)(20 * GameSettings.Instance.Tilescale.X), (int)(20 * GameSettings.Instance.Tilescale.Y), 2); * enemies.Add(enemy); * * enemy = new Enemy((int)(50 * GameSettings.Instance.Tilescale.X), (int)(20 * GameSettings.Instance.Tilescale.Y), 3); * enemies.Add(enemy);*/ foreach (Player player in players) { player.SetEnemies(enemies); } }
public Vector2 SetPlayerSpawn(Player player) { Layer temp = Layers.Find(x => x.Layername == "Player"); int tempid = player.PlayerID + 1; for (int x = 0; x < GameSettings.Instance.TileMapSize.X; x++) { for (int y = 0; y < GameSettings.Instance.TileMapSize.Y; y++) { if (temp.getTileID(x, y) == tempid) { return(new Vector2(x, y)); } } } //player.SetPosition((int)(x * GameSettings.Instance.Tilescale.X), (int)(y * GameSettings.Instance.Tilescale.Y)); return(new Vector2(2, 2)); }
private int CheckCollision3(int x, int y, Rectangle playerRect, Layer layer) { float tilescale_x = GameSettings.Instance.Tilescale.X, tilescale_y = GameSettings.Instance.Tilescale.Y; Rectangle rect; int temp = 0; if (x == -1) { } int TileID = layer.getTileID(x, y); if (TileID != 0) { switch (TileID) { case 1677: //Full rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y, (int)tilescale_x, (int)tilescale_y); temp = CheckCollision4(rect, playerRect); break; case 1678: //Tophalf rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y, (int)tilescale_x, (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1679: //Bottomhalf rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y + (int)(0.5 * tilescale_y), (int)tilescale_x, (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1680: //Diagonallefttoright rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y, (int)(tilescale_x * 0.5), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); if (temp == 1) { break; } rect = new Rectangle(x * (int)tilescale_x + (int)(tilescale_x * 0.5), y * (int)tilescale_y + (int)(tilescale_x * 0.5), (int)(tilescale_x * 0.5), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1681: //Diagonalrighttoleft rect = new Rectangle(x * (int)tilescale_x + (int)(tilescale_x * 0.5), y * (int)tilescale_y, (int)(tilescale_x * 0.5), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); if (temp == 1) { break; } rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y + (int)(tilescale_x * 0.5), (int)(tilescale_x * 0.5), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1683: //Righthalf rect = new Rectangle(x * (int)tilescale_x + (int)(tilescale_x * 0.5), y * (int)tilescale_y, (int)(tilescale_x * 0.5), (int)tilescale_y); temp = CheckCollision4(rect, playerRect); break; case 1684: //Lefttopcorner rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y, (int)tilescale_x, (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); if (temp == 1) { break; } rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y, (int)(tilescale_x * 0.5), (int)tilescale_y); temp = CheckCollision4(rect, playerRect); break; case 1685: //Righttopcorner rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y, (int)tilescale_x, (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); if (temp == 1) { break; } rect = new Rectangle(x * (int)tilescale_x + (int)(tilescale_x * 0.5), y * (int)tilescale_y, (int)(tilescale_x * 0.5), (int)tilescale_y); temp = CheckCollision4(rect, playerRect); break; case 1686: //Lefttop rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y, (int)(tilescale_x * 0.5), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1687: //Righttop rect = new Rectangle(x * (int)tilescale_x + (int)(tilescale_x * 0.5), y * (int)tilescale_y, (int)(tilescale_x * 0.5), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1689: //Lefthalf rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y, (int)(tilescale_x * 0.5), (int)tilescale_y); temp = CheckCollision4(rect, playerRect); break; case 1690: //Leftbottomcorner rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y, (int)(tilescale_x * 0.5), (int)tilescale_y); temp = CheckCollision4(rect, playerRect); if (temp == 1) { break; } rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y + (int)(0.5 * tilescale_y), (int)tilescale_x, (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1691: //Rightbottomcorner rect = new Rectangle(x * (int)tilescale_x + (int)(tilescale_x * 0.5), y * (int)tilescale_y, (int)(tilescale_x * 0.5), (int)tilescale_y); temp = CheckCollision4(rect, playerRect); if (temp == 1) { break; } rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y + (int)(0.5 * tilescale_y), (int)tilescale_x, (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1692: //Leftbottom rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y + (int)(tilescale_x * 0.5), (int)(tilescale_x * 0.5), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1693: //Rightbottom rect = new Rectangle(x * (int)tilescale_x + (int)(tilescale_x * 0.5), y * (int)tilescale_y + (int)(tilescale_x * 0.5), (int)(tilescale_x * 0.5), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1694: //Bridgeright rect = new Rectangle(x * (int)tilescale_x + (int)(0.125 * tilescale_x), y * (int)tilescale_y, (int)(tilescale_x * 0.875), (int)(tilescale_y)); temp = CheckCollision4(rect, playerRect); break; case 1688: //Bridgeleft rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y, (int)(tilescale_x * 0.875), (int)(tilescale_y)); temp = CheckCollision4(rect, playerRect); break; case 1695: //Bridgebottomright rect = new Rectangle(x * (int)tilescale_x + (int)(0.125 * tilescale_x), y * (int)tilescale_y + (int)(tilescale_y * 0.5), (int)(tilescale_x * 0.875), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1696: //Bridgebottomleft rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y + (int)(tilescale_y * 0.5), (int)(tilescale_x * 0.875), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1697: //Bridgetopright rect = new Rectangle(x * (int)tilescale_x + (int)(0.125 * tilescale_x), y * (int)tilescale_y, (int)(tilescale_x * 0.875), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; case 1698: //Bridgetopleft rect = new Rectangle(x * (int)tilescale_x, y * (int)tilescale_y, (int)(tilescale_x * 0.875), (int)(tilescale_y * 0.5)); temp = CheckCollision4(rect, playerRect); break; } } return(temp); }