PirateTreasureHunt/Globals.gd

51 lines
1.1 KiB
GDScript

extends Node
const WIDTH=1024
const HEIGHT=1024
const GRID_SIZE=float(64.0)
const GRID_COLOR="#000000"
const SHOVEL_DURATION=1
var DebugLabel = null
var HexGrid = null
var hex_size = 128
# Called when the node enters the scene tree for the first time.
func _ready():
HexGrid = preload("../thirdparty/gdhexgrid/HexGrid.gd").new()
HexGrid.hex_scale = Vector2(hex_size, hex_size)
# add_child(HexGrid)
HexTileDrawer.hex_scale = Vector2(hex_size, hex_size)
func ClearDebugLabel():
if DebugLabel == null:
return
DebugLabel.text = ""
func DebugLabelAdd(text):
if DebugLabel == null:
return
DebugLabel.text = DebugLabel.text + text + "\n"
func ScreenToWorld(pos: Vector2, camera: Camera2D):
pos = pos - OS.get_window_safe_area().size * 0.5
return camera.offset + pos * camera.zoom
func ScreenToHex(pos: Vector2, camera: Camera2D):
return Globals.HexGrid.get_hex_at(ScreenToWorld(pos, camera)).axial_coords
func WorldToScreen(pos: Vector2, camera: Camera2D):
return pos * camera.zoom + camera.offset
func DrawTile(world_coords: Vector2, tile_type):
HexTileDrawer.draw_tile(world_coords, tile_type)