Beispiel #1
0
        public void AddEnvironment(string name, Vector2f size, Vector2f position)
        {
            PEntity entity = new PEnvironment(name, this);

            entity.Position = position;
            entity.Size     = size;
            entity.GenerateHitmesh();
        }
Beispiel #2
0
        public void GenerateWalls()
        {
            Random rand    = new Random();
            int    wallNum = rand.Next(0, (int)(Size.X * Size.X * 0.0256));

            for (int i = 0; i < wallNum; i++)
            {
                PEnvironment wall = new PEnvironment("Wall", Game);
                wall.Size = new Vector2f(64, 64);
                wall.GenerateHitmesh();
                wall.Position = new Vector2f(rand.Next(200, Size.X * 32 - 200), rand.Next(200, Size.Y * 32 - 200));
                if (!TooClose(wall.Position, 200))
                {
                    Environment.Add(wall);
                }
            }
        }
Beispiel #3
0
        public void LoadRoom(GameRoom gameroom)
        {
            Pentities.Clear();
            Pentities.AddRange(Characters);
            Characters[0].Position = new Vector2f(gameroom.Size.X * 16, gameroom.Size.Y * 32);
            foreach (var character in NetworkPlayers)
            {
                character.Position = new Vector2f(gameroom.Size.X * 16, gameroom.Size.Y * 32);
            }
            Pentities.AddRange(gameroom.Environment);
            Map.Size = new Vector2f(gameroom.Size.X * 32, gameroom.Size.Y * 32);
            Map.GenerateTiles(4);
            Map.num++;
            PDoor door = new PDoor("Door", this);

            door.Position = new Vector2f(Map.Size.X / 2, -180);
            door.Size     = new Vector2f(188, 180);
            door.GenerateHitmesh();
            Pentities.Add(door);
            Door = door;
            Open = false;
        }