class Core::Tileset

Attributes

filename[R]
first[R]
name[R]
props[R]
tiles[R]

Public Class Methods

new(fgid, name, filename, props) click to toggle source
# File lib/tileset.rb, line 8
def initialize(fgid, name, filename, props)
  @first = fgid
  @name = name
  if !@@tilesets[filename]
    @@tilesets[filename] = Gosu::Image.load_tiles(Core.window, "#{Core::LIBRARY_PATH}/#{filename}", 32, 32, true)
  end
  @tiles = @@tilesets[filename].dup
  @props = props
  @props.default = {}
  @filename = filename
  @filled = []
end

Public Instance Methods

create_tiles() click to toggle source
# File lib/tileset.rb, line 20
def create_tiles
  @filled = []
  i = 0
  @tiles.each { |tile|
    @filled.push(Core::Game::Tile.new(tile, 0, 0, 0, @props[i]))
    i += 1
  }
  return @filled
end
tile(gid, x, y, z) click to toggle source
# File lib/tileset.rb, line 29
def tile(gid, x, y, z)
  if gid < 0
    return nil
  end
  if @filled.empty?
    create_tiles
  end
  tile = @filled[gid].dup
  tile.x, tile.y = x, y
  tile.z = z
  return tile
end