Merge branch 'master' of https://git.offcoursegames.com/JonShard/VRyHungry1
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,19 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="mp3"
|
||||||
|
type="AudioStreamMP3"
|
||||||
|
uid="uid://clkjwcawdqvta"
|
||||||
|
path="res://.godot/imported/money.mp3-95c717b8402507d80974f4f4287b0b63.mp3str"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Sounds/money.mp3"
|
||||||
|
dest_files=["res://.godot/imported/money.mp3-95c717b8402507d80974f4f4287b0b63.mp3str"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=false
|
||||||
|
loop_offset=0.0
|
||||||
|
bpm=0.0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
||||||
+9
-3
@@ -7,11 +7,13 @@ const GAME_MANAGER = preload("res://GameManager.gd")
|
|||||||
@export var primary_duration: float = 60.0
|
@export var primary_duration: float = 60.0
|
||||||
@export var friend_duration: float = 10.0
|
@export var friend_duration: float = 10.0
|
||||||
@export var eating_duration: float = 4.0
|
@export var eating_duration: float = 4.0
|
||||||
|
@export var money_sound: AudioStream
|
||||||
|
|
||||||
@onready var label_3d: Label3D = $Label3D
|
@onready var label_3d: Label3D = $Label3D
|
||||||
@onready var label_3d_time: Label3D = $Label3DTime
|
@onready var label_3d_time: Label3D = $Label3DTime
|
||||||
@onready var snap_zones: Array[XRToolsSnapZone] = []
|
@onready var snap_zones: Array[XRToolsSnapZone] = []
|
||||||
@onready var progress_bar: ProgressBar3D = $ProgressBar3D
|
@onready var progress_bar: ProgressBar3D = $ProgressBar3D
|
||||||
|
@onready var audio_player: AudioStreamPlayer3D = $AudioStreamPlayer3D
|
||||||
|
|
||||||
const lbl_thinking: String = "Thinking"
|
const lbl_thinking: String = "Thinking"
|
||||||
const lbl_gameover: String = "Game Over!"
|
const lbl_gameover: String = "Game Over!"
|
||||||
@@ -45,9 +47,11 @@ func _ready() -> void:
|
|||||||
if not label_3d_time:
|
if not label_3d_time:
|
||||||
push_error("Table is missing reference to Label3DTime")
|
push_error("Table is missing reference to Label3DTime")
|
||||||
if not progress_bar or progress_bar is not ProgressBar3D:
|
if not progress_bar or progress_bar is not ProgressBar3D:
|
||||||
push_error("Hob missing reference to progressbar, or wrong type:", progress_bar)
|
push_error("Table missing reference to progressbar, or wrong type:", progress_bar)
|
||||||
progress_bar.y_billboard = true
|
progress_bar.y_billboard = true
|
||||||
|
if not audio_player:
|
||||||
|
push_error("Table is missing reference to AudioStreamPlayer3D")
|
||||||
|
|
||||||
# Get snap_zones for plates, store in array snap_zones
|
# Get snap_zones for plates, store in array snap_zones
|
||||||
for child in get_children():
|
for child in get_children():
|
||||||
var snap_zone_node = child as XRToolsSnapZone
|
var snap_zone_node = child as XRToolsSnapZone
|
||||||
@@ -94,12 +98,14 @@ func _absorb_item_if_correct(_item: Node) -> void:
|
|||||||
if food_item.id in _unsatisfied_orders:
|
if food_item.id in _unsatisfied_orders:
|
||||||
print("Table: held FoodItem is in unsatisfied orders, removing it")
|
print("Table: held FoodItem is in unsatisfied orders, removing it")
|
||||||
_unsatisfied_orders.erase(food_item.id)
|
_unsatisfied_orders.erase(food_item.id)
|
||||||
GAME_MANAGER.money += food_item.sell_value
|
|
||||||
if _unsatisfied_orders.size() > 0 and _state != TableState.EATING:
|
if _unsatisfied_orders.size() > 0 and _state != TableState.EATING:
|
||||||
_setState(TableState.WAITING_FRIEND)
|
_setState(TableState.WAITING_FRIEND)
|
||||||
|
|
||||||
# Table has everything it wants. Start eating
|
# Table has everything it wants. Start eating
|
||||||
elif _unsatisfied_orders.is_empty() and _state != TableState.EATING:
|
elif _unsatisfied_orders.is_empty() and _state != TableState.EATING:
|
||||||
|
GAME_MANAGER.money += food_item.sell_value
|
||||||
|
audio_player.stream = money_sound
|
||||||
|
audio_player.play()
|
||||||
_setState(TableState.EATING)
|
_setState(TableState.EATING)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+11
-5
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
[ext_resource type="Script" uid="uid://caeikc7e3igkd" path="res://Stations/table.gd" id="1_2vcpj"]
|
[ext_resource type="Script" uid="uid://caeikc7e3igkd" path="res://Stations/table.gd" id="1_2vcpj"]
|
||||||
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="1_8j1nt"]
|
[ext_resource type="Script" uid="uid://cquqe4f1m1sw6" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="1_8j1nt"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://clkjwcawdqvta" path="res://Sounds/money.mp3" id="2_jslhm"]
|
||||||
[ext_resource type="AudioStream" uid="uid://daiv8ubwdbidf" path="res://Sounds/220195__gameaudio__click-wooden-1.wav" id="3_0s6ir"]
|
[ext_resource type="AudioStream" uid="uid://daiv8ubwdbidf" path="res://Sounds/220195__gameaudio__click-wooden-1.wav" id="3_0s6ir"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="3_kjf1i"]
|
[ext_resource type="PackedScene" uid="uid://bxbocxdaayvwx" path="res://UI/progress_bar.tscn" id="3_kjf1i"]
|
||||||
|
|
||||||
@@ -27,6 +28,7 @@ properties/2/replication_mode = 1
|
|||||||
|
|
||||||
[node name="Table" type="StaticBody3D" unique_id=1863572470 groups=["station"]]
|
[node name="Table" type="StaticBody3D" unique_id=1863572470 groups=["station"]]
|
||||||
script = ExtResource("1_2vcpj")
|
script = ExtResource("1_2vcpj")
|
||||||
|
money_sound = ExtResource("2_jslhm")
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=228053941]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=228053941]
|
||||||
shape = SubResource("BoxShape3D_24d3s")
|
shape = SubResource("BoxShape3D_24d3s")
|
||||||
@@ -45,7 +47,7 @@ transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, -0.000975132, 0)
|
|||||||
shape = SubResource("SphereShape3D_dlkho")
|
shape = SubResource("SphereShape3D_dlkho")
|
||||||
|
|
||||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone" unique_id=2135860710]
|
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone" unique_id=2135860710]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.022546828, -0.5270121, 0.36528283)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.013531357, -0.015141487, 0.012176305)
|
||||||
|
|
||||||
[node name="XRToolsSnapZone2" type="Area3D" parent="." unique_id=694448387 groups=["station"]]
|
[node name="XRToolsSnapZone2" type="Area3D" parent="." unique_id=694448387 groups=["station"]]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.34755045, 0.5270121, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.34755045, 0.5270121, 0)
|
||||||
@@ -61,7 +63,7 @@ transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, -0.000975132, 0)
|
|||||||
shape = SubResource("SphereShape3D_dlkho")
|
shape = SubResource("SphereShape3D_dlkho")
|
||||||
|
|
||||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone2" unique_id=709529410]
|
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone2" unique_id=709529410]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.022546828, -0.5270121, 0.36528283)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.013531357, -0.015141487, 0.012176305)
|
||||||
|
|
||||||
[node name="XRToolsSnapZone3" type="Area3D" parent="." unique_id=1734026785 groups=["station"]]
|
[node name="XRToolsSnapZone3" type="Area3D" parent="." unique_id=1734026785 groups=["station"]]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.012355864, 0.5270121, 0.33038777)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.012355864, 0.5270121, 0.33038777)
|
||||||
@@ -77,7 +79,7 @@ transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, -0.000975132, 0)
|
|||||||
shape = SubResource("SphereShape3D_dlkho")
|
shape = SubResource("SphereShape3D_dlkho")
|
||||||
|
|
||||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone3" unique_id=2000860662]
|
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone3" unique_id=2000860662]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.022546828, -0.5270121, 0.36528283)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.013531357, -0.015141487, 0.012176305)
|
||||||
|
|
||||||
[node name="XRToolsSnapZone4" type="Area3D" parent="." unique_id=1358457948 groups=["station"]]
|
[node name="XRToolsSnapZone4" type="Area3D" parent="." unique_id=1358457948 groups=["station"]]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.022546828, 0.5270121, -0.36528283)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.022546828, 0.5270121, -0.36528283)
|
||||||
@@ -93,13 +95,14 @@ transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, -0.000975132, 0)
|
|||||||
shape = SubResource("SphereShape3D_dlkho")
|
shape = SubResource("SphereShape3D_dlkho")
|
||||||
|
|
||||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone4" unique_id=790672192]
|
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="XRToolsSnapZone4" unique_id=790672192]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.022546828, -0.5270121, 0.36528283)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.013531357, -0.015141487, 0.012176305)
|
||||||
|
|
||||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=2085635675]
|
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="." unique_id=2085635675]
|
||||||
|
use_collision = true
|
||||||
|
|
||||||
[node name="CSGBox3D" type="CSGBox3D" parent="CSGCombiner3D" unique_id=411048765]
|
[node name="CSGBox3D" type="CSGBox3D" parent="CSGCombiner3D" unique_id=411048765]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.46137518, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.46137518, 0)
|
||||||
size = Vector3(0.6, 0.077, 0.6)
|
size = Vector3(1, 0.077, 1)
|
||||||
material = SubResource("StandardMaterial3D_24d3s")
|
material = SubResource("StandardMaterial3D_24d3s")
|
||||||
|
|
||||||
[node name="CSGBox3D2" type="CSGBox3D" parent="CSGCombiner3D" unique_id=2093582402]
|
[node name="CSGBox3D2" type="CSGBox3D" parent="CSGCombiner3D" unique_id=2093582402]
|
||||||
@@ -192,3 +195,6 @@ replication_config = SubResource("SceneReplicationConfig_np_table")
|
|||||||
[node name="ProgressBar3D" parent="." unique_id=654673176 instance=ExtResource("3_kjf1i")]
|
[node name="ProgressBar3D" parent="." unique_id=654673176 instance=ExtResource("3_kjf1i")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3676775, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3676775, 0)
|
||||||
y_billboard = true
|
y_billboard = true
|
||||||
|
|
||||||
|
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="." unique_id=724610642]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2935008, 0)
|
||||||
|
|||||||
@@ -437,7 +437,8 @@ func _pick_up_object(target: Node3D) -> void:
|
|||||||
# Pick up our target. Note, target may do instant drop_and_free
|
# Pick up our target. Note, target may do instant drop_and_free
|
||||||
picked_up_ranged = not _object_in_grab_area.has(target)
|
picked_up_ranged = not _object_in_grab_area.has(target)
|
||||||
picked_up_object = target
|
picked_up_object = target
|
||||||
target.pick_up(self)
|
if target and target.has_method("pick_up"):
|
||||||
|
target.pick_up(self)
|
||||||
|
|
||||||
# If object picked up then emit signal
|
# If object picked up then emit signal
|
||||||
if is_instance_valid(picked_up_object):
|
if is_instance_valid(picked_up_object):
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
function_pickup.gd:
|
||||||
|
Add nil check in func _pick_up_object(target: Node3D)
|
||||||
|
440: if target and target.has_method("pick_up"):
|
||||||
|
target.pick_up(self)
|
||||||
Reference in New Issue
Block a user