Example #1
0
        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);
            }
        }
Example #2
0
        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));
        }
Example #3
0
        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);
        }