Loading scenes/dragons/dragon_entity_dragger.gd +2 −6 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ class_name DragonEntity @export var min_exit_time: float @export var max_exit_time: float signal on_pick(dragon_id: int, position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D, dragon_name: String) signal on_pick(dragon_id: int, position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D) signal on_quit(dragon_id: int) var rng: RandomNumberGenerator = RandomNumberGenerator.new() Loading Loading @@ -43,13 +43,9 @@ func _input_event(viewport, event, shape_idx) -> void: if event is InputEventMouseButton \ and event.button_index == MOUSE_BUTTON_LEFT \ and event.is_pressed(): on_pick.emit(id, position + $CollisionShape2D.position, dragon.hat.texture, dragon.shirt.texture, dragon.shoes.texture, dragon.name_label.text) on_pick.emit(id, position + $CollisionShape2D.position, dragon.hat.texture, dragon.shirt.texture, dragon.shoes.texture) queue_free() func dress(hat: Texture2D, shirt: Texture2D, shoes: Texture2D): dragon.dress(hat, shirt, shoes) func set_dragon_name(dragon_name: String): dragon.set_dragon_name(dragon_name) scenes/dragons/dragon_sprite.gd +4 −13 Original line number Diff line number Diff line Loading @@ -5,11 +5,6 @@ class_name DragonSprite @export var hat: Sprite2D @export var shirt: Sprite2D @export var shoes: Sprite2D @export var name_label: Label func _ready() -> void: name_label.hide() func dress(hat: Texture2D, shirt: Texture2D, shoes: Texture2D): Loading @@ -18,13 +13,9 @@ func dress(hat: Texture2D, shirt: Texture2D, shoes: Texture2D): self.shoes.texture = shoes func set_dragon_name(dragon_name: String): name_label.text = dragon_name func _on_area_2d_mouse_entered() -> void: name_label.show() func walk_left(): $Sprite.scale.x = 1 func _on_area_2d_mouse_exited() -> void: name_label.hide() func walk_right(): $Sprite.scale.x = -1 scenes/dragons/dragon_sprite.tscn +1 −13 Original line number Diff line number Diff line Loading @@ -9,12 +9,11 @@ [sub_resource type="RectangleShape2D" id="RectangleShape2D_oaoux"] size = Vector2(76, 88) [node name="Dragon" type="Node2D" node_paths=PackedStringArray("hat", "shirt", "shoes", "name_label")] [node name="Dragon" type="Node2D" node_paths=PackedStringArray("hat", "shirt", "shoes")] script = ExtResource("1_oaoux") hat = NodePath("Sprite/Hat") shirt = NodePath("Sprite/Shirt") shoes = NodePath("Sprite/Shoes") name_label = NodePath("Label") [node name="Area2D" type="Area2D" parent="."] Loading @@ -35,16 +34,5 @@ texture = ExtResource("4_oaoux") [node name="Shoes" type="Sprite2D" parent="Sprite"] texture = ExtResource("5_stf6f") [node name="Label" type="Label" parent="."] offset_left = -10.0 offset_top = 78.0 offset_right = 86.0 offset_bottom = 101.0 theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_colors/font_outline_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 5 text = "AAAAAAAA" horizontal_alignment = 1 [connection signal="mouse_entered" from="Area2D" to="." method="_on_area_2d_mouse_entered"] [connection signal="mouse_exited" from="Area2D" to="." method="_on_area_2d_mouse_exited"] scenes/main.gd +3 −4 Original line number Diff line number Diff line Loading @@ -101,14 +101,13 @@ func _load_game(): var hat: Texture2D = hat_outfits.get_texture(d['hat']) var shirt: Texture2D = shirt_outfits.get_texture(d['shirt']) var shoes: Texture2D = shoes_outfits.get_texture(d['shoes']) _pick_dragon(d['id'], d['pos'], hat, shirt, shoes, d['name'], false) _pick_dragon(d['id'], d['pos'], hat, shirt, shoes, false) print(_save_load.contents_to_save) func _instantiate_dragon_ingame(position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D, dragon_name: String, id: int) -> DragonEntity: var dragon: DragonEntity = dragon_ingame.instantiate() dragon.dress(hat, shirt, shoes) dragon.set_dragon_name(dragon_name) add_child(dragon) dragon.id = id dragon.position = position Loading @@ -118,8 +117,8 @@ func _instantiate_dragon_ingame(position: Vector2, hat: Texture2D, shirt: Textur return dragon func _pick_dragon(id: int, position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D, dragon_name: String, drag: bool = true): var dragon: Dragon = _instantiator.instantiate(position, hat, shirt, shoes, dragon_name, drag) func _pick_dragon(id: int, position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D, drag: bool = true): var dragon: Dragon = _instantiator.instantiate(position, hat, shirt, shoes, drag) dragon.id = id _dragon_entities[id] = dragon dragon.place_back.connect(_dragon_place_back) Loading scenes/window/draggable.gd +5 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,9 @@ var dragging_start_position: Vector2i = Vector2i() var _initial_drag_requested: bool = false signal on_drag() signal on_drop() func _ready() -> void: set_process_input(true) Loading @@ -33,9 +36,11 @@ func _input(event) -> void: if event.pressed: dragging = true on_drag.emit() dragging_start_position = Vector2i(get_global_mouse_position()) else: dragging = false on_drop.emit() if _is_inside_main_window(): _destroy_dragon() Loading Loading
scenes/dragons/dragon_entity_dragger.gd +2 −6 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ class_name DragonEntity @export var min_exit_time: float @export var max_exit_time: float signal on_pick(dragon_id: int, position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D, dragon_name: String) signal on_pick(dragon_id: int, position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D) signal on_quit(dragon_id: int) var rng: RandomNumberGenerator = RandomNumberGenerator.new() Loading Loading @@ -43,13 +43,9 @@ func _input_event(viewport, event, shape_idx) -> void: if event is InputEventMouseButton \ and event.button_index == MOUSE_BUTTON_LEFT \ and event.is_pressed(): on_pick.emit(id, position + $CollisionShape2D.position, dragon.hat.texture, dragon.shirt.texture, dragon.shoes.texture, dragon.name_label.text) on_pick.emit(id, position + $CollisionShape2D.position, dragon.hat.texture, dragon.shirt.texture, dragon.shoes.texture) queue_free() func dress(hat: Texture2D, shirt: Texture2D, shoes: Texture2D): dragon.dress(hat, shirt, shoes) func set_dragon_name(dragon_name: String): dragon.set_dragon_name(dragon_name)
scenes/dragons/dragon_sprite.gd +4 −13 Original line number Diff line number Diff line Loading @@ -5,11 +5,6 @@ class_name DragonSprite @export var hat: Sprite2D @export var shirt: Sprite2D @export var shoes: Sprite2D @export var name_label: Label func _ready() -> void: name_label.hide() func dress(hat: Texture2D, shirt: Texture2D, shoes: Texture2D): Loading @@ -18,13 +13,9 @@ func dress(hat: Texture2D, shirt: Texture2D, shoes: Texture2D): self.shoes.texture = shoes func set_dragon_name(dragon_name: String): name_label.text = dragon_name func _on_area_2d_mouse_entered() -> void: name_label.show() func walk_left(): $Sprite.scale.x = 1 func _on_area_2d_mouse_exited() -> void: name_label.hide() func walk_right(): $Sprite.scale.x = -1
scenes/dragons/dragon_sprite.tscn +1 −13 Original line number Diff line number Diff line Loading @@ -9,12 +9,11 @@ [sub_resource type="RectangleShape2D" id="RectangleShape2D_oaoux"] size = Vector2(76, 88) [node name="Dragon" type="Node2D" node_paths=PackedStringArray("hat", "shirt", "shoes", "name_label")] [node name="Dragon" type="Node2D" node_paths=PackedStringArray("hat", "shirt", "shoes")] script = ExtResource("1_oaoux") hat = NodePath("Sprite/Hat") shirt = NodePath("Sprite/Shirt") shoes = NodePath("Sprite/Shoes") name_label = NodePath("Label") [node name="Area2D" type="Area2D" parent="."] Loading @@ -35,16 +34,5 @@ texture = ExtResource("4_oaoux") [node name="Shoes" type="Sprite2D" parent="Sprite"] texture = ExtResource("5_stf6f") [node name="Label" type="Label" parent="."] offset_left = -10.0 offset_top = 78.0 offset_right = 86.0 offset_bottom = 101.0 theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_colors/font_outline_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 5 text = "AAAAAAAA" horizontal_alignment = 1 [connection signal="mouse_entered" from="Area2D" to="." method="_on_area_2d_mouse_entered"] [connection signal="mouse_exited" from="Area2D" to="." method="_on_area_2d_mouse_exited"]
scenes/main.gd +3 −4 Original line number Diff line number Diff line Loading @@ -101,14 +101,13 @@ func _load_game(): var hat: Texture2D = hat_outfits.get_texture(d['hat']) var shirt: Texture2D = shirt_outfits.get_texture(d['shirt']) var shoes: Texture2D = shoes_outfits.get_texture(d['shoes']) _pick_dragon(d['id'], d['pos'], hat, shirt, shoes, d['name'], false) _pick_dragon(d['id'], d['pos'], hat, shirt, shoes, false) print(_save_load.contents_to_save) func _instantiate_dragon_ingame(position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D, dragon_name: String, id: int) -> DragonEntity: var dragon: DragonEntity = dragon_ingame.instantiate() dragon.dress(hat, shirt, shoes) dragon.set_dragon_name(dragon_name) add_child(dragon) dragon.id = id dragon.position = position Loading @@ -118,8 +117,8 @@ func _instantiate_dragon_ingame(position: Vector2, hat: Texture2D, shirt: Textur return dragon func _pick_dragon(id: int, position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D, dragon_name: String, drag: bool = true): var dragon: Dragon = _instantiator.instantiate(position, hat, shirt, shoes, dragon_name, drag) func _pick_dragon(id: int, position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D, drag: bool = true): var dragon: Dragon = _instantiator.instantiate(position, hat, shirt, shoes, drag) dragon.id = id _dragon_entities[id] = dragon dragon.place_back.connect(_dragon_place_back) Loading
scenes/window/draggable.gd +5 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,9 @@ var dragging_start_position: Vector2i = Vector2i() var _initial_drag_requested: bool = false signal on_drag() signal on_drop() func _ready() -> void: set_process_input(true) Loading @@ -33,9 +36,11 @@ func _input(event) -> void: if event.pressed: dragging = true on_drag.emit() dragging_start_position = Vector2i(get_global_mouse_position()) else: dragging = false on_drop.emit() if _is_inside_main_window(): _destroy_dragon() Loading