hexland/Scripts/Hex.gd
2022-08-23 14:12:59 -05:00

40 lines
909 B
GDScript

extends Node2D
class_name Hex
const WIDTH = 220
const HEIGHT = 190
const HALFWIDTH = WIDTH / 2
const HALFHEIGHT = HEIGHT / 2
const TEXTURE_MAP = {
"hills": preload("res://Assets/brick-hex.png"),
"forest": preload("res://Assets/wood-hex.png"),
"mountains": preload("res://Assets/stone-hex.png"),
"fields": preload("res://Assets/wheat-hex.png"),
"pasture": preload("res://Assets/sheep-hex.png"),
"desert": preload("res://Assets/desert-hex.png"),
}
var type = "desert" setget set_type
var index = Vector2.ZERO
func _ready():
var sprite = Sprite.new()
sprite.texture = TEXTURE_MAP[type]
sprite.name = "Img"
add_child(sprite)
var label = Label.new()
label.name = "Lbl"
label.add_font_override("font", Debug.font)
add_child(label)
func _process(_delta):
if Debug.on:
$Lbl.text = "(%+d, %+d)" % [index.x, index.y]
func set_type(newtype):
$Img.texture = TEXTURE_MAP[newtype]
type = newtype