public RenderLayer(TiledRenderer renderer, string layer)
 {
     this.renderer = renderer;
     this.map      = renderer.map;
     this.layer    = map.Layers[layer];
     Build();
 }
        public static void Main(string[] args)
        {
            var window = new RenderWindow(new SFML.Window.VideoMode(640, 480), "Window");

            var map         = new TmxMap("map.tmx");
            var mapRenderer = new TiledRenderer(map);

            bool isRunning = true;

            window.Closed += (object sender, EventArgs evt) => isRunning = false;
            while (isRunning)
            {
                window.DispatchEvents();

                window.Clear();
                mapRenderer.UpdateAnimations();
                mapRenderer.Draw(window);
                window.Display();
            }
        }
Example #3
0
        /// <summary>
        /// Render the effect to the target surface - we render everything here and ignore tiling
        /// </summary>
        /// <param name="renderRects">Tiles to render (ignored here)</param>
        /// <param name="startIndex">Start index into rects (ignored here)</param>
        /// <param name="length">Number of rects to render (ignored here)</param>
        protected override void OnRender(Rectangle[] renderRects, int startIndex, int length)
        {
            if (graph.CanRun && Token.Properties.IsValid && IsRenderingEnabled)
            {
                var progressInfo = GetProgressInfo();

                if (tileSize > 0)
                {
                    var tileFormat = StringResources.Get("TileInfoFormat");
                    var renderer   = new TiledRenderer(SrcArgs.Surface, DstArgs.Surface, tileSize, MARGIN);
                    renderer.Update += UpdateTiled;
                    renderer.Process(graph);

                    void UpdateTiled(object sender, TileEventArgs e)
                    {
                        var info = StringResources.Get("GraphEvent." + e.What.ToString());
                        var tile = string.Format(CultureInfo.InvariantCulture, tileFormat, e.TileNumber, e.TileCount);

                        progressInfo(tile + " " + info);
                    }
                }
                else
                {
                    graph.Update += UpdateGraph;
                    var result = graph.Run();
                    graph.Update -= UpdateGraph;
                    result.ToSurface(DstArgs.Surface);

                    void UpdateGraph(object sender, EffectGraphEventArgs e)
                    {
                        progressInfo(StringResources.Get("GraphEvent." + e.What.ToString()));
                    }
                }

                mustCallOnRender = false;
            }
        }