Esempio n. 1
0
    private void TextDataFunc(CellLayout cell_layout, CellRenderer renderer, TreeModel model, TreeIter iter)
    {
        CellRendererText textRenderer = (CellRendererText)renderer;
        Tilegroup        group        = (Tilegroup)Model.GetValue(iter, 0);

        textRenderer.Text = group.Name;
    }
 public void ChangeTilegroup(Tilegroup tilegroup)
 {
     this.tilegroup = tilegroup;
     Translation = new Vector(0, 0);
     Zoom = 1.0f;
     hovertile = -1;
     QueueDraw();
 }
Esempio n. 3
0
    /// <summary>Loads the tiles from <paramref name="Resourcepath"/>.</summary>
    /// <param name="Resourcepath">A path relative to the data folder of SuperTux.</param>
    public Tileset(string Resourcepath)
    {
        baseDir = ResourceManager.Instance.GetDirectoryName(Resourcepath);
        List TilesL = Util.Load(Resourcepath, "supertux-tiles");

        Properties TilesP = new Properties(TilesL);
        foreach(List list in TilesP.GetList("tile")) {
            try {
                Tile tile = new Tile();
                ParseTile(tile, list);
                while(tiles.Count <= tile.Id)
                    tiles.Add(null);
                tiles[tile.Id] = tile;
            } catch(Exception e) {
                Console.WriteLine("Couldn't parse a Tile: " + e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }

        foreach(List list in TilesP.GetList("tiles")) {
            try {
                ParseTiles(list);
            } catch(Exception e) {
                Console.WriteLine("Couldn't parse a tiles: " + e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }

        // construct a tilegroup with all tiles
        Tilegroup allGroup = new Tilegroup();
            allGroup.Name = "All";
            foreach(Tile tile in tiles) {
                if(tile != null)
                    allGroup.Tiles.Add(tile.Id);
            }
            tilegroups.Add(allGroup.Name, allGroup);

        LispSerializer serializer = new LispSerializer(typeof(Tilegroup));
        foreach(List list in TilesP.GetList("tilegroup")) {
            try {
                Tilegroup group = (Tilegroup) serializer.Read(list);
                for(int i = 0; i < group.Tiles.Count; ) {
                    if(!IsValid(group.Tiles[i])) {
                        Console.WriteLine("Tilegroup " + group.Name + " contains invalid TileID " + group.Tiles[i]);
                        group.Tiles.RemoveAt(i);
                        continue;
                    }
                    ++i;
                }
                tilegroups.Add(group.Name, group);
            } catch(Exception e) {
                Console.WriteLine("Couldn't parse tilegroup: " + e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }
    }
Esempio n. 4
0
 public void ChangeTilegroup(Tilegroup tilegroup)
 {
     this.tilegroup    = tilegroup;
     Translation       = new Vector(0, 0);
     vadjustment.Value = -Translation.Y;
     Zoom      = 1.0f;
     hovertile = -1;
     updateScrollbar();
     QueueDraw();
 }
Esempio n. 5
0
    private void OnTilesetChanged(Level level)
    {
        tileset           = level.Tileset;
        Translation       = new Vector(0, 0);
        vadjustment.Value = -Translation.Y;
        Zoom = 1.0f;

        tilegroup = tileset.Tilegroups["All"];
        updateScrollbar();

        QueueDraw();
    }
Esempio n. 6
0
    private void OnTileGroupChosen(object o, EventArgs args)
    {
        TreeIter iter;

        if (!GetActiveIter(out iter))
        {
            return;
        }

        Tilegroup group = (Tilegroup)Model.GetValue(iter, 0);

        tileList.ChangeTilegroup(group);
    }
 public void ChangeTilegroup(Tilegroup tilegroup)
 {
     this.tilegroup = tilegroup;
     Translation = new Vector(0, 0);
     vadjustment.Value = -Translation.Y;
     Zoom = 1.0f;
     hovertile = -1;
     updateScrollbar();
     QueueDraw();
 }
    private void OnTilesetChanged(Level level)
    {
        tileset = level.Tileset;
        Translation = new Vector(0, 0);
        vadjustment.Value = -Translation.Y;
        Zoom = 1.0f;

        tilegroup = tileset.Tilegroups["All"];
        updateScrollbar();

        QueueDraw();
    }
Esempio n. 9
0
    /// <summary>Loads the tiles from <paramref name="Resourcepath"/>.</summary>
    /// <param name="Resourcepath">A path relative to the data folder of SuperTux.</param>
    public Tileset(string Resourcepath)
    {
        baseDir = ResourceManager.Instance.GetDirectoryName(Resourcepath);
        List TilesL = Util.Load(Resourcepath, "supertux-tiles");

        Properties TilesP = new Properties(TilesL);

        // add blank tile with ID 0
        Tile blank = new Tile();

        blank.Id = 0;
        while (tiles.Count <= blank.Id)
        {
            tiles.Add(null);
        }
        tiles[blank.Id] = blank;

        foreach (List list in TilesP.GetList("tile"))
        {
            try {
                Tile tile = new Tile();
                ParseTile(tile, list);
                while (tiles.Count <= tile.Id)
                {
                    tiles.Add(null);
                }
                tiles[tile.Id] = tile;
            } catch (Exception e) {
                LogManager.Log(LogLevel.Error, "Couldn't parse a Tile: " + e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }

        foreach (List list in TilesP.GetList("tiles"))
        {
            try {
                ParseTiles(list);
            } catch (Exception e) {
                LogManager.Log(LogLevel.Error, "Couldn't parse a tiles: " + e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }

        // construct a tilegroup with all tiles
        Tilegroup allGroup = new Tilegroup();

        allGroup.Name = "All";
        foreach (Tile tile in tiles)
        {
            if (tile != null)
            {
                allGroup.Tiles.Add(tile.Id);
            }
        }
        tilegroups.Add(allGroup.Name, allGroup);

        LispSerializer serializer = new LispSerializer(typeof(Tilegroup));

        foreach (List list in TilesP.GetList("tilegroup"))
        {
            try {
                Tilegroup group = (Tilegroup)serializer.Read(list);
                for (int i = 0; i < group.Tiles.Count;)
                {
                    if (!IsValid(group.Tiles[i]))
                    {
                        LogManager.Log(LogLevel.DebugWarning, "Tilegroup " + group.Name + " contains invalid TileID " + group.Tiles[i]);
                        group.Tiles.RemoveAt(i);
                        continue;
                    }
                    ++i;
                }
                tilegroups.Add(group.Name, group);
            } catch (Exception e) {
                LogManager.Log(LogLevel.Error, "Couldn't parse tilegroup: " + e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }
    }
    private void OnTilesetChanged(Level level)
    {
        tileset = level.Tileset;
        Translation = new Vector(0, 0);
        Zoom = 1.0f;

        tilegroup = tileset.Tilegroups["All"];

        QueueDraw();
    }