QuestionBlock.tscn 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. [gd_scene load_steps=17 format=3 uid="uid://bc1mrna4kybhv"]
  2. [ext_resource type="Script" uid="uid://b5ejlbl0vp1gm" path="res://Scripts/Classes/Blocks/BlockClass.gd" id="1_bxree"]
  3. [ext_resource type="Texture2D" uid="uid://uh7uhdkv3e6s" path="res://Assets/Sprites/Blocks/QuestionBlock.png" id="1_wt4d5"]
  4. [ext_resource type="PackedScene" uid="uid://clxssds8sj8pf" path="res://Scenes/Prefabs/Entities/Items/SpinningCoin.tscn" id="2_ntyfr"]
  5. [ext_resource type="PackedScene" uid="uid://dt58tjrnarms0" path="res://Scenes/Prefabs/Particles/QuestionBlockDestructionParticles.tscn" id="3_mvk7u"]
  6. [ext_resource type="PackedScene" uid="uid://cijkvfkthetn5" path="res://Scenes/Parts/BlockAnimations.tscn" id="3_ntyfr"]
  7. [ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_qf42s"]
  8. [ext_resource type="JSON" path="res://Assets/Sprites/Blocks/QuestionBlock.json" id="5_mkj8t"]
  9. [ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="7_aekuo"]
  10. [ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="8_ov42f"]
  11. [ext_resource type="Script" uid="uid://maqpreddu5kg" path="res://Scripts/Classes/Components/LevelPersistance.gd" id="9_j1txv"]
  12. [sub_resource type="AtlasTexture" id="AtlasTexture_w6pbl"]
  13. atlas = ExtResource("1_wt4d5")
  14. region = Rect2(0, 0, 16, 16)
  15. [sub_resource type="AtlasTexture" id="AtlasTexture_bxree"]
  16. atlas = ExtResource("1_wt4d5")
  17. region = Rect2(16, 0, 16, 16)
  18. [sub_resource type="AtlasTexture" id="AtlasTexture_ntyfr"]
  19. atlas = ExtResource("1_wt4d5")
  20. region = Rect2(32, 0, 16, 16)
  21. [sub_resource type="AtlasTexture" id="AtlasTexture_aukm0"]
  22. atlas = ExtResource("1_wt4d5")
  23. region = Rect2(48, 0, 16, 16)
  24. [sub_resource type="SpriteFrames" id="SpriteFrames_qf42s"]
  25. animations = [{
  26. "frames": [{
  27. "duration": 1.0,
  28. "texture": SubResource("AtlasTexture_w6pbl")
  29. }, {
  30. "duration": 1.0,
  31. "texture": SubResource("AtlasTexture_bxree")
  32. }, {
  33. "duration": 1.0,
  34. "texture": SubResource("AtlasTexture_ntyfr")
  35. }, {
  36. "duration": 1.0,
  37. "texture": SubResource("AtlasTexture_aukm0")
  38. }],
  39. "loop": true,
  40. "name": &"default",
  41. "speed": 1.0
  42. }]
  43. [sub_resource type="RectangleShape2D" id="RectangleShape2D_mkj8t"]
  44. size = Vector2(16, 16)
  45. [node name="QuestionBlock" type="AnimatableBody2D" node_paths=PackedStringArray("visuals") groups=["Blocks"]]
  46. collision_layer = 6
  47. collision_mask = 0
  48. sync_to_physics = false
  49. script = ExtResource("1_bxree")
  50. visuals = NodePath("Sprite")
  51. item = ExtResource("2_ntyfr")
  52. destruction_particle_scene = ExtResource("3_mvk7u")
  53. combo_meter_amount = 30
  54. [node name="Sprite" type="AnimatedSprite2D" parent="."]
  55. sprite_frames = SubResource("SpriteFrames_qf42s")
  56. autoplay = "default"
  57. frame_progress = 0.2849915
  58. [node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
  59. script = ExtResource("4_qf42s")
  60. node_to_affect = NodePath("..")
  61. property_name = "sprite_frames"
  62. resource_json = ExtResource("5_mkj8t")
  63. metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
  64. [node name="Collision" type="CollisionShape2D" parent="."]
  65. visible = false
  66. shape = SubResource("RectangleShape2D_mkj8t")
  67. [node name="BlockAnimations" parent="." instance=ExtResource("3_ntyfr")]
  68. [node name="EditorPropertyExposer" type="Node" parent="."]
  69. script = ExtResource("7_aekuo")
  70. properties = Array[String](["item", "item_amount", "mushroom_if_small"])
  71. filters = Dictionary[String, String]({
  72. "item": "can_be_stored"
  73. })
  74. [node name="TrackJoint" type="Node" parent="."]
  75. script = ExtResource("8_ov42f")
  76. offset = Vector2(0, 0)
  77. metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
  78. [node name="LevelPersistance" type="Node" parent="."]
  79. script = ExtResource("9_j1txv")
  80. metadata/_custom_type_script = "uid://maqpreddu5kg"
  81. [connection signal="block_destroyed" from="." to="LevelPersistance" method="set_as_active_2"]
  82. [connection signal="block_emptied" from="." to="LevelPersistance" method="set_as_active"]
  83. [connection signal="player_block_hit" from="." to="." method="player_mushroom_check"]
  84. [connection signal="player_block_hit" from="." to="." method="dispense_item" unbinds=1]
  85. [connection signal="player_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]
  86. [connection signal="shell_block_hit" from="." to="." method="dispense_item" unbinds=1]
  87. [connection signal="shell_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]
  88. [connection signal="enabled" from="LevelPersistance" to="." method="spawn_empty_block"]
  89. [connection signal="enabled_2" from="LevelPersistance" to="." method="queue_free"]