diff --git a/addons/block_code/examples/pong_game/pong_game.tscn b/addons/block_code/examples/pong_game/pong_game.tscn index 48fdc70d..71f77d15 100644 --- a/addons/block_code/examples/pong_game/pong_game.tscn +++ b/addons/block_code/examples/pong_game/pong_game.tscn @@ -2,15 +2,15 @@ [ext_resource type="PackedScene" uid="uid://cg8ibi18um3vg" path="res://addons/block_code/examples/pong_game/space.tscn" id="1_y56ac"] [ext_resource type="Script" path="res://addons/block_code/block_code_node/block_code.gd" id="3_6jaq8"] -[ext_resource type="PackedScene" uid="uid://ddx1cd5q6t61o" path="res://addons/block_code/simple_nodes/simple_character/simple_character.tscn" id="3_hjpbs"] +[ext_resource type="Script" path="res://addons/block_code/simple_nodes/simple_character/simple_character.gd" id="3_mdrcv"] [ext_resource type="Script" path="res://addons/block_code/ui/block_canvas/serialized_block_tree_node.gd" id="4_qtggh"] [ext_resource type="Texture2D" uid="uid://tplpgtnfeda0" path="res://addons/block_code/examples/pong_game/assets/paddle.png" id="4_ra7bh"] [ext_resource type="Script" path="res://addons/block_code/ui/block_canvas/serialized_block.gd" id="5_wr38c"] [ext_resource type="Script" path="res://addons/block_code/ui/block_canvas/serialized_block_tree_node_array.gd" id="6_ppdc3"] [ext_resource type="Script" path="res://addons/block_code/block_script_data/block_script_data.gd" id="7_uuuue"] -[ext_resource type="PackedScene" uid="uid://bis7afjjuwypq" path="res://addons/block_code/simple_nodes/simple_scoring/simple_scoring.tscn" id="8_yg457"] [ext_resource type="PackedScene" uid="uid://c7l70grmkauij" path="res://addons/block_code/examples/pong_game/ball.tscn" id="9_xrqll"] [ext_resource type="PackedScene" uid="uid://fhoapg3anjsu" path="res://addons/block_code/examples/pong_game/goal_area.tscn" id="12_nqmxu"] +[ext_resource type="Script" path="res://addons/block_code/simple_nodes/simple_scoring/simple_scoring.gd" id="13_tg3yk"] [sub_resource type="Resource" id="Resource_k6jw1"] script = ExtResource("5_wr38c") @@ -796,20 +796,22 @@ version = 0 [node name="Space" parent="." instance=ExtResource("1_y56ac")] -[node name="PaddleLeft" parent="." groups=["paddles"] instance=ExtResource("3_hjpbs")] +[node name="PaddleLeft" type="CharacterBody2D" parent="." groups=["paddles"]] modulate = Color(0.509804, 0.360784, 0.972549, 1) position = Vector2(64, 544) collision_mask = 5 +script = ExtResource("3_mdrcv") texture = ExtResource("4_ra7bh") [node name="BlockCode" type="Node" parent="PaddleLeft"] script = ExtResource("3_6jaq8") block_script = SubResource("Resource_qmak3") -[node name="PaddleRight" parent="." groups=["paddles"] instance=ExtResource("3_hjpbs")] +[node name="PaddleRight" type="CharacterBody2D" parent="." groups=["paddles"]] modulate = Color(0.509804, 0.360784, 0.972549, 1) position = Vector2(1856, 544) collision_mask = 5 +script = ExtResource("3_mdrcv") texture = ExtResource("4_ra7bh") [node name="BlockCode" type="Node" parent="PaddleRight"] @@ -839,8 +841,9 @@ position = Vector2(1984, 544) script = ExtResource("3_6jaq8") block_script = SubResource("Resource_6drva") -[node name="SimpleScoring" parent="." instance=ExtResource("8_yg457")] +[node name="SimpleScoring" type="CanvasLayer" parent="." groups=["hud"]] follow_viewport_enabled = true +script = ExtResource("13_tg3yk") [node name="BlockCode" type="Node" parent="SimpleScoring"] script = ExtResource("3_6jaq8") diff --git a/addons/block_code/simple_nodes/simple_character/_simple_character.gd b/addons/block_code/simple_nodes/simple_character/_simple_character.gd new file mode 100644 index 00000000..b5438769 --- /dev/null +++ b/addons/block_code/simple_nodes/simple_character/_simple_character.gd @@ -0,0 +1,8 @@ +@tool +extends SimpleCharacter + + +func _init(): + # Disable the SimpleCharacter _init function. We expect this script is + # already bound to _simple_character.tscn. + pass diff --git a/addons/block_code/simple_nodes/simple_character/simple_character.tscn b/addons/block_code/simple_nodes/simple_character/_simple_character.tscn similarity index 56% rename from addons/block_code/simple_nodes/simple_character/simple_character.tscn rename to addons/block_code/simple_nodes/simple_character/_simple_character.tscn index 692a2cff..03e429c2 100644 --- a/addons/block_code/simple_nodes/simple_character/simple_character.tscn +++ b/addons/block_code/simple_nodes/simple_character/_simple_character.tscn @@ -1,14 +1,14 @@ [gd_scene load_steps=3 format=3 uid="uid://ddx1cd5q6t61o"] -[ext_resource type="Script" path="res://addons/block_code/simple_nodes/simple_character/simple_character.gd" id="1_oqwef"] +[ext_resource type="Script" path="res://addons/block_code/simple_nodes/simple_character/_simple_character.gd" id="1_idjqv"] -[sub_resource type="RectangleShape2D" id="RectangleShape2D_104qs"] -size = Vector2(16, 16) +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ffh0f"] +size = Vector2(100, 100) [node name="SimpleCharacter" type="CharacterBody2D"] -script = ExtResource("1_oqwef") +script = ExtResource("1_idjqv") [node name="Sprite2D" type="Sprite2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -shape = SubResource("RectangleShape2D_104qs") +shape = SubResource("RectangleShape2D_ffh0f") diff --git a/addons/block_code/simple_nodes/simple_character/simple_character.gd b/addons/block_code/simple_nodes/simple_character/simple_character.gd index 7af653dc..08471be2 100644 --- a/addons/block_code/simple_nodes/simple_character/simple_character.gd +++ b/addons/block_code/simple_nodes/simple_character/simple_character.gd @@ -52,6 +52,16 @@ func on_gravity_changed(new_gravity): gravity = new_gravity +func _init(): + if self.get_parent(): + return + + var node = preload("res://addons/block_code/simple_nodes/simple_character/_simple_character.tscn").instantiate() as Node + node.replace_by(self, true) + node.queue_free() + scene_file_path = "" + + func _ready(): add_to_group("affected_by_gravity") simple_setup() diff --git a/addons/block_code/simple_nodes/simple_scoring/_simple_scoring.gd b/addons/block_code/simple_nodes/simple_scoring/_simple_scoring.gd new file mode 100644 index 00000000..6c1476fa --- /dev/null +++ b/addons/block_code/simple_nodes/simple_scoring/_simple_scoring.gd @@ -0,0 +1,8 @@ +@tool +extends SimpleScoring + + +func _init(): + # Disable the SimpleScoring _init function. We expect this script is + # already bound to _simple_scoring.tscn. + pass diff --git a/addons/block_code/simple_nodes/simple_scoring/simple_scoring.tscn b/addons/block_code/simple_nodes/simple_scoring/_simple_scoring.tscn similarity index 90% rename from addons/block_code/simple_nodes/simple_scoring/simple_scoring.tscn rename to addons/block_code/simple_nodes/simple_scoring/_simple_scoring.tscn index de623127..4d17dc83 100644 --- a/addons/block_code/simple_nodes/simple_scoring/simple_scoring.tscn +++ b/addons/block_code/simple_nodes/simple_scoring/_simple_scoring.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=2 format=3 uid="uid://bis7afjjuwypq"] -[ext_resource type="Script" path="res://addons/block_code/simple_nodes/simple_scoring/simple_scoring.gd" id="1_yyb01"] +[ext_resource type="Script" path="res://addons/block_code/simple_nodes/simple_scoring/_simple_scoring.gd" id="1_lc5bg"] [node name="SimpleScoring" type="CanvasLayer" groups=["hud"]] -script = ExtResource("1_yyb01") +script = ExtResource("1_lc5bg") [node name="PlayerLeftScore" type="Label" parent="."] unique_name_in_owner = true diff --git a/addons/block_code/simple_nodes/simple_scoring/simple_scoring.gd b/addons/block_code/simple_nodes/simple_scoring/simple_scoring.gd index 88c9a62b..3d96007a 100644 --- a/addons/block_code/simple_nodes/simple_scoring/simple_scoring.gd +++ b/addons/block_code/simple_nodes/simple_scoring/simple_scoring.gd @@ -19,6 +19,17 @@ const _POSITIONS_FOR_PLAYER = { } +func _init(): + if self.get_parent(): + return + + var node = preload("res://addons/block_code/simple_nodes/simple_scoring/_simple_scoring.tscn").instantiate() as Node + node.replace_by(self, true) + node.queue_free() + print_tree_pretty() + scene_file_path = "" + + func get_custom_class(): return "SimpleScoring"