public override void Interact(ref BaseLevel level) { Facing facing = level.Player.Facing; BaseLevel lvl; if (Data == 0) { lvl = Levels.LoadLevelFromResources(level.Name.Substring(0, level.Name.LastIndexOf('_'))); } else { lvl = Levels.LoadLevelFromResources(level.Name + '_' + Data); } if (door != null) { ushort x = door.X; ushort y = door.Y; switch (facing) { case Facing.NORTH: y--; break; case Facing.EAST: x++; break; case Facing.SOUTH: y++; break; case Facing.WEST: x--; break; } lvl.Player = new EntityPlayer(x, y); lvl.Entities[0] = lvl.Player; } door = this; level = lvl; level.Initialize(); }