init
This commit is contained in:
BIN
general/item-dropper/dungeon_discovery.wav
Normal file
BIN
general/item-dropper/dungeon_discovery.wav
Normal file
Binary file not shown.
24
general/item-dropper/dungeon_discovery.wav.import
Normal file
24
general/item-dropper/dungeon_discovery.wav.import
Normal file
@@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://b7nup12qxtlh"
|
||||
path="res://.godot/imported/dungeon_discovery.wav-41484ca4e230435a886c5306ceaade95.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://general/item-dropper/dungeon_discovery.wav"
|
||||
dest_files=["res://.godot/imported/dungeon_discovery.wav-41484ca4e230435a886c5306ceaade95.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
46
general/item-dropper/item_dropper.gd
Normal file
46
general/item-dropper/item_dropper.gd
Normal file
@@ -0,0 +1,46 @@
|
||||
@tool
|
||||
class_name ItemDropper extends Node2D
|
||||
|
||||
const PICKUP = preload("res://items/item_pickup/item_pickup.tscn")
|
||||
|
||||
@export var item: ItemData : set = set_item_data
|
||||
|
||||
@onready var sprite: Sprite2D = $Sprite2D
|
||||
@onready var dropped_data: PersistentDataHandler = $PersistentDataHandler
|
||||
@onready var audio: AudioStreamPlayer = $AudioStreamPlayer
|
||||
|
||||
var dropped := false
|
||||
|
||||
func _ready() -> void:
|
||||
if Engine.is_editor_hint():
|
||||
update_texture()
|
||||
return
|
||||
sprite.visible = false
|
||||
dropped_data.data_loaded.connect(on_data_loaded)
|
||||
on_data_loaded()
|
||||
|
||||
func set_item_data(new_item: ItemData) -> void:
|
||||
item = new_item
|
||||
update_texture()
|
||||
|
||||
func update_texture() -> void:
|
||||
if !Engine.is_editor_hint():
|
||||
return
|
||||
if item and sprite:
|
||||
sprite.texture = item.texture
|
||||
|
||||
func on_data_loaded() -> void:
|
||||
dropped = dropped_data.value
|
||||
|
||||
func drop_item() -> void:
|
||||
if dropped:
|
||||
return
|
||||
dropped = true
|
||||
var drop = PICKUP.instantiate() as ItemPickup
|
||||
drop.item_data = item
|
||||
add_child(drop)
|
||||
drop.picked_up.connect(on_item_picked_up)
|
||||
audio.play()
|
||||
|
||||
func on_item_picked_up() -> void:
|
||||
dropped_data.set_value()
|
||||
1
general/item-dropper/item_dropper.gd.uid
Normal file
1
general/item-dropper/item_dropper.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ce3vhcig6dc4p
|
||||
26
general/item-dropper/item_dropper.tscn
Normal file
26
general/item-dropper/item_dropper.tscn
Normal file
@@ -0,0 +1,26 @@
|
||||
[gd_scene format=3 uid="uid://q756h6ku2kjn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ce3vhcig6dc4p" path="res://general/item-dropper/item_dropper.gd" id="1_yo2da"]
|
||||
[ext_resource type="Script" uid="uid://bej7822ail7o" path="res://general/persistent_data/persistent_data_handler.gd" id="2_syr8l"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7nup12qxtlh" path="res://general/item-dropper/dungeon_discovery.wav" id="2_u0i1k"]
|
||||
|
||||
[node name="ItemDropper" type="Node2D" unique_id=1807553228]
|
||||
script = ExtResource("1_yo2da")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1635927483]
|
||||
|
||||
[node name="Label" type="Label" parent="Sprite2D" unique_id=423753573]
|
||||
offset_left = -40.0
|
||||
offset_top = -24.0
|
||||
offset_right = 43.0
|
||||
offset_bottom = -1.0
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 6
|
||||
text = "Item Drop "
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="." unique_id=855210117]
|
||||
stream = ExtResource("2_u0i1k")
|
||||
|
||||
[node name="PersistentDataHandler" type="Node" parent="." unique_id=213983155]
|
||||
script = ExtResource("2_syr8l")
|
||||
metadata/_custom_type_script = "uid://bej7822ail7o"
|
||||
Reference in New Issue
Block a user