public void AddEnvironment(string name, Vector2f size, Vector2f position) { PEntity entity = new PEnvironment(name, this); entity.Position = position; entity.Size = size; entity.GenerateHitmesh(); }
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); } } }
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; }