Vore_Sandbox_Remaster/scripts/PreyEdit.gd

81 lines
3 KiB
GDScript

extends Control
var loadprey = Global.preytoedit
# Called when the node enters the scene tree for the first time.
func _ready():
if loadprey.empty():
get_tree().change_scene("res://preyMenu.tscn")
else:
Global.preytoedit = ""
$preyprev/TextureRect.texture = Global.preydata[loadprey].get("SpriteMain")
$preyprev.rect_scale = Global.preydata[loadprey].get("size",Vector2.ONE)
# set gui options to loaded value
$C/opts/HB/PName.text = loadprey
$C/opts/HB/InitScale.value = Global.preydata[loadprey].get("size",Vector2.ONE).x
$C/opts/HB/ShrunkScale.value = Global.preydata[loadprey].get("shrunksize",Vector2.ONE).x
$C/opts/HB/ColScale.value = Global.preydata[loadprey].get("collectsize",Vector2.ONE).x
$C/opts/HB/Health.value = Global.preydata[loadprey].get("health",2000)
$preyprev/coll.rect_min_size = Global.capsuletorect(
Global.preydata[loadprey].get("shape"),
(Global.preydata[loadprey].get("shaperot",0) == 90)
)
$preview/prey.data = Global.preydata[loadprey]
$preview/prey._load_data()
$C/opts/HB/HBW.value = $preyprev/coll.rect_min_size.x
$C/opts/HB/HBH.value = $preyprev/coll.rect_min_size.y
$C/opts/HB/Squeeze.value = Global.preydata[loadprey].get("squeeze",0.7)
_on_InitScale_mouse_entered()
func _on_SaveButton_pressed():
var oldload = loadprey
loadprey = $C/opts/HB/PName.text
if not Global.preydata.has(loadprey):
Global.preydata[loadprey] = Global.preydata[oldload]#.duplicate(true)
Global.preydata.erase(oldload)
Global.preydata[loadprey]["size"] = Vector2($C/opts/HB/InitScale.value,$C/opts/HB/InitScale.value)
Global.preydata[loadprey]["shrunksize"] = Vector2($C/opts/HB/ShrunkScale.value,$C/opts/HB/ShrunkScale.value)
Global.preydata[loadprey]["collectsize"] = Vector2($C/opts/HB/ColScale.value,$C/opts/HB/ColScale.value)
Global.preydata[loadprey]["health"] = $C/opts/HB/Health.value
Global.preydata[loadprey]["squeeze"] = $C/opts/HB/Squeeze.value
var shape = Global.recttocapsule(Vector2($C/opts/HB/HBW.value,$C/opts/HB/HBH.value),Global.preydata[loadprey]["shape"])
Global.preydata[loadprey]["shaperot"] = shape[1]
$preview/prey.data = Global.preydata[loadprey]
$preview/prey._load_data()
#save to file if prey is on disk
if Global.preydata[loadprey].get("file",null) != null:
Global.save_prey(Global.preydata[loadprey]["file"],loadprey)
func _on_InitScale_value_changed(value):
$preyprev.rect_scale = Vector2(value,value)
func _on_InitScale_mouse_entered():
$preyprev.rect_scale = Vector2($C/opts/HB/InitScale.value,$C/opts/HB/InitScale.value)
func _on_ShrunkScale_value_changed(value):
$preyprev.rect_scale = Vector2(value,value)
func _on_ShrunkScale_mouse_entered():
$preyprev.rect_scale = Vector2($C/opts/HB/ShrunkScale.value,$C/opts/HB/ShrunkScale.value)
func _on_ColScale_value_changed(value):
$preyprev.rect_scale = Vector2(value,value)
func _on_ColScale_mouse_entered():
$preyprev.rect_scale = Vector2($C/opts/HB/ColScale.value,$C/opts/HB/ColScale.value)
func _on_HBW_value_changed(value):
$preyprev/coll.rect_min_size.x = value
func _on_HBH_value_changed(value):
$preyprev/coll.rect_min_size.y = value