RPGH_Engine/nodes/map/map.gd
2021-08-05 12:34:08 +02:00

58 lines
1.6 KiB
GDScript

tool
class_name RPGH_Map, "res://addons/rpgh_engine/nodes/map/icon_map.svg"
extends YSort
export(Texture) var top_layer: Texture setget _set_top_layer
export(Texture) var bottom_layer: Texture setget _set_bottom_layer
func _init():
if !Engine.editor_hint:
RPGH.get_node("DataManager").current_map = self
func _ready():
if get_parent() == get_tree().get_root():
print("is correct")
get_parent().call_deferred("remove_child", self)
RPGH.MapManager.call_deferred("add_child", self)
if !Engine.editor_hint:
var top_layer_sprite = Sprite.new()
top_layer_sprite.name = "\\TopLayer"
top_layer_sprite.texture = top_layer
top_layer_sprite.centered = false
top_layer_sprite.z_index = 1
add_child(top_layer_sprite)
var bottom_layer_sprite = Sprite.new()
bottom_layer_sprite.name = "\\BottomLayer"
bottom_layer_sprite.texture = bottom_layer
bottom_layer_sprite.centered = false
bottom_layer_sprite.z_index = -1
add_child(bottom_layer_sprite)
func _draw():
if Engine.editor_hint:
draw_texture(bottom_layer, Vector2())
draw_texture(top_layer, Vector2())
func _set_top_layer(new_top_layer):
top_layer = new_top_layer
update()
func _set_bottom_layer(new_bottom_layer):
bottom_layer = new_bottom_layer
update()
# Just a fast wrapper for "storable.gd".
class RPGH_Storable:
extends "res://addons/rpgh_engine/system/data_management/storable.gd"
func _init(key: String, value = null, map = null, event = null).(key, value, map, event): pass
func Storable(key: String, value = null) -> RPGH_Storable:
return RPGH_Storable.new(key, value, self)