codename-routes/World/Tiles/Tile.gd

32 lines
1005 B
GDScript

extends Area2D
enum outline_colors{PURPLE, RED, BLUE, GREEN, YELLOW}
var tile_id = Vector2(0,0)
var is_coast = false
func _ready() -> void:
if is_coast:
add_child(preload("res://World/Tiles/CoastalProps.tscn").instance())
func change_color_to(color):
var sprite = $Sprite
if color == outline_colors.PURPLE:
sprite.texture = preload("res://Resources/Graphics/Tiles/purple.png")
elif color == outline_colors.RED:
sprite.texture = preload("res://Resources/Graphics/Tiles/red.png")
elif color == outline_colors.BLUE:
sprite.texture = preload("res://Resources/Graphics/Tiles/blue.png")
elif color == outline_colors.GREEN:
sprite.texture = preload("res://Resources/Graphics/Tiles/green.png")
elif color == outline_colors.YELLOW:
sprite.texture = preload("res://Resources/Graphics/Tiles/yellow.png")
func set_tile_id(id: Vector2):
tile_id = id
set_position(id)
func set_position(id: Vector2):
position.x = id.x * 32
position.y = id.y * 26
if (fmod(id.y, 2)) == 0:
position.x += 16