Uploaded game files
This commit is contained in:
parent
459da513f6
commit
f71e7e39a0
1543 changed files with 50503 additions and 0 deletions
|
@ -0,0 +1,72 @@
|
|||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/CallNode/EventPart_CallNodePicker.gd" type="Script" id=1]
|
||||
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/GreyLabel.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/CustomLineEdit.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=4]
|
||||
|
||||
[node name="CallNodePicker" type="VBoxContainer"]
|
||||
margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
theme = ExtResource( 4 )
|
||||
script = ExtResource( 1 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Label" parent="." instance=ExtResource( 2 )]
|
||||
margin_top = 0.0
|
||||
margin_right = 782.0
|
||||
margin_bottom = 14.0
|
||||
custom_colors/font_color = Color( 0, 0, 0, 1 )
|
||||
text = "This event calls the function [Function Name] on the [Target Node] (use full path!). It also passes a number of arguments."
|
||||
|
||||
[node name="Properties" type="HBoxContainer" parent="."]
|
||||
margin_top = 18.0
|
||||
margin_right = 782.0
|
||||
margin_bottom = 45.0
|
||||
custom_constants/separation = 8
|
||||
|
||||
[node name="TargetNodeLabel" type="Label" parent="Properties"]
|
||||
margin_top = 6.0
|
||||
margin_right = 81.0
|
||||
margin_bottom = 20.0
|
||||
text = "Target Node:"
|
||||
|
||||
[node name="TargetNodeEdit" parent="Properties" instance=ExtResource( 3 )]
|
||||
margin_left = 89.0
|
||||
margin_right = 329.0
|
||||
margin_bottom = 27.0
|
||||
rect_min_size = Vector2( 240, 27 )
|
||||
|
||||
[node name="CallMethodLabel" type="Label" parent="Properties"]
|
||||
margin_left = 337.0
|
||||
margin_top = 6.0
|
||||
margin_right = 432.0
|
||||
margin_bottom = 20.0
|
||||
text = "Method Name:"
|
||||
|
||||
[node name="CallMethodEdit" parent="Properties" instance=ExtResource( 3 )]
|
||||
margin_left = 440.0
|
||||
margin_right = 620.0
|
||||
margin_bottom = 27.0
|
||||
rect_min_size = Vector2( 180, 27 )
|
||||
|
||||
[node name="ArgumentsLabel" type="Label" parent="Properties"]
|
||||
margin_left = 628.0
|
||||
margin_top = 6.0
|
||||
margin_right = 698.0
|
||||
margin_bottom = 20.0
|
||||
text = "Arguments"
|
||||
|
||||
[node name="ArgumentsSpinBox" type="SpinBox" parent="Properties"]
|
||||
margin_left = 706.0
|
||||
margin_right = 782.0
|
||||
margin_bottom = 27.0
|
||||
max_value = 99.0
|
||||
|
||||
[node name="Arguments" type="VBoxContainer" parent="."]
|
||||
margin_top = 49.0
|
||||
margin_right = 782.0
|
||||
margin_bottom = 49.0
|
||||
custom_constants/separation = 5
|
|
@ -0,0 +1,107 @@
|
|||
tool
|
||||
extends "res://addons/dialogic/Editor/Events/Parts/EventPart.gd"
|
||||
|
||||
# has an event_data variable that stores the current data!!!
|
||||
|
||||
## node references
|
||||
onready var target_path_input = $Properties/TargetNodeEdit
|
||||
onready var method_name_input = $Properties/CallMethodEdit
|
||||
onready var argument_length = $Properties/ArgumentsSpinBox
|
||||
onready var arguments_container = $Arguments
|
||||
|
||||
# used to connect the signals
|
||||
func _ready():
|
||||
target_path_input.connect("text_changed", self, "_on_TargetPathInput_text_changed")
|
||||
method_name_input.connect("text_changed", self, "_on_MethodName_text_changed")
|
||||
argument_length.connect("value_changed", self, "_on_AgrumentLength_value_changed")
|
||||
|
||||
# called by the event block
|
||||
func load_data(data:Dictionary):
|
||||
# First set the event_data
|
||||
.load_data(data)
|
||||
|
||||
# Now update the ui nodes to display the data.
|
||||
target_path_input.text = event_data['call_node']['target_node_path']
|
||||
method_name_input.text = event_data['call_node']['method_name']
|
||||
|
||||
for i in range(event_data['call_node']['arguments'].size()):
|
||||
if (event_data['call_node']['arguments'][i] == null):
|
||||
event_data['call_node']['arguments'][i] = ''
|
||||
|
||||
argument_length.value = len(event_data['call_node']['arguments'])
|
||||
|
||||
_create_argument_controls()
|
||||
|
||||
# has to return the wanted preview, only useful for body parts
|
||||
func get_preview():
|
||||
if event_data['call_node']["target_node_path"] and event_data['call_node']['method_name']:
|
||||
return 'Calls `'+event_data['call_node']['method_name']+ "` on node `"+event_data['call_node']["target_node_path"]+"` with an array with "+str(len( event_data['call_node']['arguments'])) +" items."
|
||||
else:
|
||||
return ''
|
||||
|
||||
func _on_TargetPathInput_text_changed(text):
|
||||
event_data['call_node']['target_node_path'] = text
|
||||
|
||||
# informs the parent about the changes!
|
||||
data_changed()
|
||||
|
||||
func _on_MethodName_text_changed(text):
|
||||
event_data['call_node']['method_name'] = text
|
||||
|
||||
# informs the parent about the changes!
|
||||
data_changed()
|
||||
|
||||
func _on_AgrumentLength_value_changed(value):
|
||||
event_data['call_node']['arguments'].resize(max(0, value))
|
||||
|
||||
for i in range(event_data['call_node']['arguments'].size()):
|
||||
if (event_data['call_node']['arguments'][i] == null):
|
||||
event_data['call_node']['arguments'][i] = ''
|
||||
|
||||
_create_argument_controls()
|
||||
|
||||
# informs the parent about the changes!
|
||||
data_changed()
|
||||
|
||||
func _on_argument_value_changed(value, arg_index):
|
||||
if (arg_index < 0 or arg_index >= event_data['call_node']['arguments'].size()):
|
||||
return
|
||||
|
||||
event_data['call_node']['arguments'][arg_index] = str(value)
|
||||
|
||||
# informs the parent about the changes!
|
||||
data_changed()
|
||||
|
||||
|
||||
# helpers
|
||||
func _create_argument_controls():
|
||||
if (not event_data['call_node']['arguments'] is Array):
|
||||
return
|
||||
|
||||
# clear old
|
||||
for c in arguments_container.get_children():
|
||||
arguments_container.remove_child(c)
|
||||
c.queue_free()
|
||||
|
||||
# create controls
|
||||
var index = 0
|
||||
for a in event_data['call_node']['arguments']:
|
||||
var container = HBoxContainer.new()
|
||||
container.name = "Argument%s" % index
|
||||
|
||||
var label = Label.new()
|
||||
label.name = "IndexLabel"
|
||||
label.text = "Argument %s:" % index
|
||||
label.rect_min_size.x = 100
|
||||
container.add_child(label)
|
||||
|
||||
var edit = LineEdit.new()
|
||||
edit.name = "IndexValue"
|
||||
edit.text = str(a)
|
||||
edit.connect("text_changed", self, "_on_argument_value_changed", [ index ])
|
||||
edit.rect_min_size.x = 250
|
||||
container.add_child(edit)
|
||||
|
||||
arguments_container.add_child(container)
|
||||
|
||||
index += 1
|
Loading…
Add table
Add a link
Reference in a new issue