module AuthorEngine::Part::GosuGraphics

Public Instance Methods

level(index, z = 0) click to toggle source
# File lib/author_engine/game/gosu/parts/graphics.rb, line 28
def level(index, z = 0)
  _level = @authorengine_levels[index]
  raise "No level at '#{index}'!" unless _level

  _level.each do |sprite|
    sprite(sprite.sprite, sprite.x, sprite.y, z)
  end
end
rect(x = 0, y = 0, width = 1, height = 1, color = Gosu::Color::WHITE, z = 0) click to toggle source
# File lib/author_engine/game/gosu/parts/graphics.rb, line 4
def rect(x = 0, y = 0, width = 1, height = 1, color = Gosu::Color::WHITE, z = 0)
  Gosu.draw_rect(x, y, width, height, color, z)
end
rotate(angle, around_x = 0, around_y = 0, &block) click to toggle source
# File lib/author_engine/game/gosu/parts/graphics.rb, line 52
def rotate(angle, around_x = 0, around_y = 0, &block)
  Gosu.rotate(angle, around_x, around_y) do
    block.call if block
  end
end
sprite(index, x = 0, y = 0, z = 0, alpha = 255) click to toggle source
# File lib/author_engine/game/gosu/parts/graphics.rb, line 22
def sprite(index, x = 0, y = 0, z = 0, alpha = 255)
  image = @authorengine_sprites[index]
  raise "No sprite at '#{index}'!" unless image
  image.draw(x, y, z, 1,1, Gosu::Color.rgba(255,255,255, alpha))
end
swap(level, current_sprite, replacement_sprite) click to toggle source
# File lib/author_engine/game/gosu/parts/graphics.rb, line 37
def swap(level, current_sprite, replacement_sprite)
  _level = @authorengine_levels[level]
  raise "No level at '#{index}'!" unless _level
  raise "No sprite at '#{current_sprite}'!" unless @authorengine_sprites[current_sprite]
  raise "No sprite at '#{current_sprite}'!" unless @authorengine_sprites[replacement_sprite]

  _level.each {|sprite| sprite.sprite = replacement_sprite if sprite.sprite == current_sprite}
end
text(text, x = 0, y = 0, size = 4, z = 0, color = white) click to toggle source
# File lib/author_engine/game/gosu/parts/graphics.rb, line 8
def text(text, x = 0, y = 0, size = 4, z = 0, color = white)
  @authorengine_fonts ||= {}

  font = nil

  if @authorengine_fonts.dig(size)
    font = @authorengine_fonts.dig(size)
  else
    font = (@authorengine_fonts[size] = Gosu::Font.new(size, name: Text::FONT_DEFAULT))
  end

  font.draw_markup(text, x, y, z, 1, 1, color)
end
translate(x, y, &block) click to toggle source
# File lib/author_engine/game/gosu/parts/graphics.rb, line 46
def translate(x, y, &block)
  Gosu.translate(x, y) do
    block.call if block
  end
end