Class: Avm::MaysMagicalSchool::TerrainType

Inherits:
Object
  • Object
show all
Defined in:
lib/avm/mays_magical_school/terrain_type.rb,
lib/avm/mays_magical_school/terrain_type/version.rb

Defined Under Namespace

Classes: Version

Constant Summary collapse

LETTER_FILE_BASENAME =
'letter'

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#versionsObject

Returns the value of attribute versions.



11
12
13
# File 'lib/avm/mays_magical_school/terrain_type.rb', line 11

def versions
  @versions
end

Instance Method Details

#add(image) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/avm/mays_magical_school/terrain_type.rb', line 20

def add(image)
  path = new_image_file
  path.parent.mkpath
  image.write(path)
  version = ::Avm::MaysMagicalSchool::TerrainType::Version.new(self, path)
  versions << version
  version
end

#letterObject



39
40
41
# File 'lib/avm/mays_magical_school/terrain_type.rb', line 39

def letter
  source.terrain_type_info.fetch_letter(name)
end

#match_image_version(image) ⇒ Object



43
44
45
# File 'lib/avm/mays_magical_school/terrain_type.rb', line 43

def match_image_version(image)
  versions.find { |v| v.match_image?(image) }
end

#nameObject



47
48
49
# File 'lib/avm/mays_magical_school/terrain_type.rb', line 47

def name
  dir.basename.to_path
end

#new_image_fileObject



29
30
31
32
33
34
35
36
37
# File 'lib/avm/mays_magical_school/terrain_type.rb', line 29

def new_image_file
  i = 1
  loop do
    file = dir.join("#{i}.png")
    return file unless file.exist?

    i += 1
  end
end