private void CreateGlobals(string style) { if (!ExcludeCommon) { AppendLine("labels-global:"); _indent++; AppendLine(" - &text_visible true"); AppendLine(" - &debug_visible true"); _indent--; AppendLine("global:"); _indent++; //AppendLine("default_order: function() { return feature.sort_key || 0; }"); // AppendLine("language: en"); AppendLine("default_text_source: |"); _indent++; AppendLine("function() {"); _indent++; //AppendLine("return (global.language && feature['name_' + global.language]) || feature.name;"); AppendLine( "if (feature.ref && feature.name_en ) { return feature.ref +\" \" + feature.name_en; } else if (feature.name_en) { return feature.name_en; } else { return feature.ref; }"); _indent--; AppendLine("}"); _indent--; AppendLine("name_source: |"); _indent++; AppendLine("function() {"); _indent++; //AppendLine("return (global.language && feature['name_' + global.language]) || feature.name;"); AppendLine("{ return feature.name_en; }"); _indent--; AppendLine("}"); _indent--; AppendLine("ref_source: |"); _indent++; AppendLine("function() {"); _indent++; //AppendLine("return (global.language && feature['name_' + global.language]) || feature.name;"); AppendLine( "if (feature.ref) { return feature.ref; } else if (feature.name) { return feature.name; } else { return \"No Ref\"; }"); _indent--; AppendLine("}"); _indent--; _indent = 0; AppendLine("styles:"); _indent++; AppendLine(RailLinesDash + ":"); _indent++; AppendLine("base: lines"); AppendLine("texcoords: true"); AppendLine("shaders:"); _indent++; AppendLine("defines:"); _indent++; AppendLine("DASH_SIZE: .9"); AppendLine("DASH_SCALE: .6"); _indent--; AppendLine("blocks:"); _indent++; AppendLine("filter: |"); _indent++; AppendLine("if (step(DASH_SIZE, fract(v_texcoord.y * DASH_SCALE)) == 0.)"); AppendLine("{"); AppendLine("discard;"); AppendLine("}"); _indent = 0; _indent++; AppendLine(CustomLinesDash + ":"); _indent++; AppendLine("base: lines"); AppendLine("dash: [2,2]"); _indent = 0; _indent++; AppendLine("icons:"); _indent++; AppendLine("base: points"); AppendLine("texture: pois"); AppendLine("interactive: true"); //AppendLine("blend_order: 1"); _indent = 0; _indent++; AppendLine("lines-blended:"); _indent++; AppendLine("base: lines"); AppendLine("blend: inlay"); _indent = 0; _indent++; AppendLine("polys-blended:"); _indent++; AppendLine("base: polygons"); AppendLine("blend: inlay"); _indent = 0; AppendLine("cameras:"); _indent++; AppendLine("perspective:"); _indent++; AppendLine("type: perspective"); AppendLine("vanishing_point: [0, -500]"); _indent = 0; } /*AppendLine("lights:"); * _indent++; * AppendLine("directional1:"); * _indent++; * AppendLine("type: directional"); * AppendLine("direction: [.1, .5, -1]"); * AppendLine("diffuse: .7"); * AppendLine("ambient: .5"); * _indent = 0;*/ if (IncludeSprites) { string variant = ""; // @2x AppendLine("textures:"); _indent++; AppendLine("pois:"); _indent++; AppendLine($"url: images/{style}{variant}.png"); AppendLine("filtering: mipmap"); AppendLine("sprites:"); _indent++; var sprites = SpriteConverter.GetSprites($"{AppDomain.CurrentDomain.BaseDirectory}\\Styles\\{style}\\sprite\\{style}{variant}.json"); foreach (var sprite in sprites) { AppendLine($"{sprite.Name}: [{sprite.X},{sprite.Y},{sprite.Width},{sprite.Height}]"); } _indent = 0; } }