private static void SpawnWalls(SpriteBatch spriteBatch, IRoom room, string spawnType, int i) { IBlock blockType; Point position; if (i == 0) { position = new Point(RoomConstants.TopDoorX, RoomConstants.TopDoorY); } else if (i == 1) { position = new Point(RoomConstants.RightDoorX, RoomConstants.RightDoorY); } else if (i == 2) { position = new Point(RoomConstants.BottomDoorX, RoomConstants.BottomDoorY); } else if (i == 3) { position = new Point(RoomConstants.LeftDoorX, RoomConstants.LeftDoorY); } else { position = Point.Zero; } switch (spawnType) { case RoomConstants.WallPiece: blockType = new Walls(spriteBatch, position); room.AllObjects.Spawn(blockType); break; case RoomConstants.OpenDoor: blockType = new OpenedDoor(spriteBatch, position, room); room.AddDoor((IDoor)blockType); room.AllObjects.Spawn(blockType); break; case RoomConstants.LockedDoor: blockType = new LockedDoor(spriteBatch, position, room); room.AddDoor((IDoor)blockType); room.AllObjects.Spawn(blockType); break; case RoomConstants.ShutDoor: blockType = new ShutDoor(spriteBatch, position, room); room.AddDoor((IDoor)blockType); room.AllObjects.Spawn(blockType); break; case RoomConstants.BombableWall: blockType = new BombableOpening(spriteBatch, position, room); room.AddDoor((IDoor)blockType); room.AllObjects.Spawn(blockType); break; default: break; } }
void ResetID() { OpenedDoor?.Invoke(); }