Add the postie and sound effects

This commit is contained in:
Olivier 'reivilibre' 2023-01-08 18:43:54 +00:00
parent 3fe50a6865
commit b40adc2e86
43 changed files with 688 additions and 22 deletions

1
.gitattributes vendored
View File

@ -1,2 +1,3 @@
*.png filter=lfs diff=lfs merge=lfs -text *.png filter=lfs diff=lfs merge=lfs -text
*.kra filter=lfs diff=lfs merge=lfs -text *.kra filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text

View File

@ -61,7 +61,7 @@ func on_press_area_entered(press: Node2D):
self._crush_jump() self._crush_jump()
func on_press_area_exited(press: Node2D): func on_press_area_exited(_press: Node2D):
press_area_press = null press_area_press = null

View File

@ -16,7 +16,6 @@ animations = [ {
radius = 23.0217 radius = 23.0217
[node name="Player" type="KinematicBody2D"] [node name="Player" type="KinematicBody2D"]
position = Vector2( 0, -14 )
collision_layer = 9 collision_layer = 9
script = ExtResource( 2 ) script = ExtResource( 2 )
__meta__ = { __meta__ = {
@ -24,7 +23,7 @@ __meta__ = {
} }
[node name="AnimatedSprite" type="AnimatedSprite" parent="."] [node name="AnimatedSprite" type="AnimatedSprite" parent="."]
position = Vector2( 5.68434e-14, -3 ) position = Vector2( 0, -17 )
scale = Vector2( 0.05, 0.05 ) scale = Vector2( 0.05, 0.05 )
frames = SubResource( 1 ) frames = SubResource( 1 )
animation = "right" animation = "right"
@ -33,9 +32,11 @@ __meta__ = {
} }
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2( 0, -14 )
shape = SubResource( 2 ) shape = SubResource( 2 )
[node name="InteractionArea" type="Area2D" parent="."] [node name="InteractionArea" type="Area2D" parent="."]
position = Vector2( 0, -14 )
collision_layer = 0 collision_layer = 0
collision_mask = 2 collision_mask = 2
@ -43,6 +44,7 @@ collision_mask = 2
polygon = PoolVector2Array( 0, -21, 20, -8, 20, 12, 0, 24, 0, 35, 52, 21, 52, -20, 0, -32 ) polygon = PoolVector2Array( 0, -21, 20, -8, 20, 12, 0, 24, 0, 35, 52, 21, 52, -20, 0, -32 )
[node name="PlayerAttachmentManager" parent="." instance=ExtResource( 3 )] [node name="PlayerAttachmentManager" parent="." instance=ExtResource( 3 )]
position = Vector2( 0, -14 )
[node name="Tween" type="Tween" parent="."] [node name="Tween" type="Tween" parent="."]

View File

@ -27,7 +27,8 @@ func _physics_process(_delta):
if distance > MAX_DISTANCE_BEFORE_DETACH: if distance > MAX_DISTANCE_BEFORE_DETACH:
attached = null attached = null
anchor_offset = Vector2.ZERO anchor_offset = Vector2.ZERO
# TODO play sfx $DetachSfx.pitch_scale = rand_range(0.9, 1.1)
$DetachSfx.play()
print("detached!") print("detached!")
return return

View File

@ -1,6 +1,10 @@
[gd_scene load_steps=2 format=2] [gd_scene load_steps=3 format=2]
[ext_resource path="res://characters/player/PlayerAttachmentManager.gd" type="Script" id=1] [ext_resource path="res://characters/player/PlayerAttachmentManager.gd" type="Script" id=1]
[ext_resource path="res://sfx/detach.wav" type="AudioStream" id=2]
[node name="PlayerAttachmentManager" type="Node2D"] [node name="PlayerAttachmentManager" type="Node2D"]
script = ExtResource( 1 ) script = ExtResource( 1 )
[node name="DetachSfx" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 2 )

File diff suppressed because one or more lines are too long

View File

@ -16,7 +16,10 @@ config/icon="res://icon.png"
[display] [display]
window/size/height=640 window/size/width=1600
window/size/height=900
window/size/test_width=1280
window/size/test_height=720
window/stretch/mode="2d" window/stretch/mode="2d"
window/stretch/aspect="keep" window/stretch/aspect="keep"
@ -67,6 +70,7 @@ interact={
2d_physics/layer_2="Interaction" 2d_physics/layer_2="Interaction"
2d_physics/layer_3="AutoCollection" 2d_physics/layer_3="AutoCollection"
2d_physics/layer_4="PressArea" 2d_physics/layer_4="PressArea"
2d_physics/layer_5="SaleArea"
[physics] [physics]

View File

@ -8,6 +8,7 @@ radius = 8.95455
height = 8.67516 height = 8.67516
[node name="OliveProjectile" type="Area2D"] [node name="OliveProjectile" type="Area2D"]
z_index = 1
collision_layer = 4 collision_layer = 4
collision_mask = 0 collision_mask = 0
script = ExtResource( 2 ) script = ExtResource( 2 )
@ -17,7 +18,7 @@ position = Vector2( 11, 9 )
rotation = -0.87441 rotation = -0.87441
shape = SubResource( 1 ) shape = SubResource( 1 )
[node name="Sprite" type="Sprite" parent="."] [node name="OliveSprite" type="Sprite" parent="."]
texture = ExtResource( 1 ) texture = ExtResource( 1 )
centered = false centered = false
offset = Vector2( -5, -5 ) offset = Vector2( -5, -5 )

View File

@ -20,4 +20,6 @@ func interact(_player):
for child in self.get_children(): for child in self.get_children():
if child.has_method("drop_olive"): if child.has_method("drop_olive"):
if child.drop_olive(): if child.drop_olive():
$FallSfx.pitch_scale = rand_range(0.9, 1.5)
$FallSfx.play()
break break

View File

@ -1,8 +1,9 @@
[gd_scene load_steps=5 format=2] [gd_scene load_steps=6 format=2]
[ext_resource path="res://scenery/facilities/olivetree.png" type="Texture" id=1] [ext_resource path="res://scenery/facilities/olivetree.png" type="Texture" id=1]
[ext_resource path="res://scenery/facilities/OliveTreeBud.tscn" type="PackedScene" id=2] [ext_resource path="res://scenery/facilities/OliveTreeBud.tscn" type="PackedScene" id=2]
[ext_resource path="res://scenery/facilities/OliveTree.gd" type="Script" id=3] [ext_resource path="res://scenery/facilities/OliveTree.gd" type="Script" id=3]
[ext_resource path="res://sfx/fall.wav" type="AudioStream" id=4]
[sub_resource type="CapsuleShape2D" id=1] [sub_resource type="CapsuleShape2D" id=1]
radius = 28.0 radius = 28.0
@ -38,3 +39,6 @@ rotation = 0.546288
[node name="OliveTreeBud5" parent="." instance=ExtResource( 2 )] [node name="OliveTreeBud5" parent="." instance=ExtResource( 2 )]
position = Vector2( 2, -131 ) position = Vector2( 2, -131 )
rotation = 0.328122 rotation = 0.328122
[node name="FallSfx" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 4 )

View File

@ -5,7 +5,7 @@ var growing: bool = false
export var grow_rate: float = 0.05 export var grow_rate: float = 0.05
# TODO 50 is debug # TODO 50 is debug
const GROW_RATE = 50.05 const GROW_RATE = 0.05
func _ready(): func _ready():
reset() reset()

View File

@ -128,6 +128,9 @@ func _spray_bottle():
$Tween.interpolate_method(self, "_set_oil_height", old_oil_h, new_oil_h, 1.0, Tween.TRANS_QUAD, Tween.EASE_IN_OUT) $Tween.interpolate_method(self, "_set_oil_height", old_oil_h, new_oil_h, 1.0, Tween.TRANS_QUAD, Tween.EASE_IN_OUT)
$Tween.start() $Tween.start()
$SpraySfx.pitch_scale = rand_range(0.9, 1.2)
$SpraySfx.play()
return true return true
@ -154,6 +157,8 @@ func crush():
# make it a bit more yellowy # make it a bit more yellowy
olive_sprite.modulate = Color(0.5, 1.0, 1.0) olive_sprite.modulate = Color(0.5, 1.0, 1.0)
crushed_olive_sprites.push_back(olive_sprite) crushed_olive_sprites.push_back(olive_sprite)
$SquishSfx.pitch_scale = rand_range(0.9, 1.2)
$SquishSfx.play()
_next_step() _next_step()
func add_fresh_olives(num: int): func add_fresh_olives(num: int):

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=11 format=2] [gd_scene load_steps=13 format=2]
[ext_resource path="res://items/bottle_oliveoil.png" type="Texture" id=1] [ext_resource path="res://items/bottle_oliveoil.png" type="Texture" id=1]
[ext_resource path="res://items/bottle_oliveoil_bottle.png" type="Texture" id=2] [ext_resource path="res://items/bottle_oliveoil_bottle.png" type="Texture" id=2]
@ -8,6 +8,8 @@
[ext_resource path="res://items/bottle_oliveoil_oil.png" type="Texture" id=6] [ext_resource path="res://items/bottle_oliveoil_oil.png" type="Texture" id=6]
[ext_resource path="res://items/bottle_oliveoil_lid.png" type="Texture" id=7] [ext_resource path="res://items/bottle_oliveoil_lid.png" type="Texture" id=7]
[ext_resource path="res://scenery/facilities/Press.gd" type="Script" id=8] [ext_resource path="res://scenery/facilities/Press.gd" type="Script" id=8]
[ext_resource path="res://sfx/spray.wav" type="AudioStream" id=9]
[ext_resource path="res://sfx/squish1.wav" type="AudioStream" id=10]
[sub_resource type="RectangleShape2D" id=1] [sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 29.5128, 2.79108 ) extents = Vector2( 29.5128, 2.79108 )
@ -98,6 +100,12 @@ collision_mask = 8
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="CollectionArea"] [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="CollectionArea"]
polygon = PoolVector2Array( 68, -78, 67, -24, 5, -3, -63, -22, -62, -84, 5, -103 ) polygon = PoolVector2Array( 68, -78, 67, -24, 5, -3, -63, -22, -62, -84, 5, -103 )
[node name="SquishSfx" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 10 )
[node name="SpraySfx" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 9 )
[connection signal="tween_all_completed" from="Tween" to="." method="_on_Tween_tween_all_completed"] [connection signal="tween_all_completed" from="Tween" to="." method="_on_Tween_tween_all_completed"]
[connection signal="body_entered" from="CollectionArea" to="." method="_on_CollectionArea_body_entered"] [connection signal="body_entered" from="CollectionArea" to="." method="_on_CollectionArea_body_entered"]
[connection signal="body_exited" from="CollectionArea" to="." method="_on_CollectionArea_body_exited"] [connection signal="body_exited" from="CollectionArea" to="." method="_on_CollectionArea_body_exited"]

BIN
scenery/tiles/road.kra (Stored with Git LFS) Normal file

Binary file not shown.

BIN
scenery/tiles/road.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/road.png-dda19101357f3a889deaa8df88b16e69.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenery/tiles/road.png"
dest_files=[ "res://.import/road.png-dda19101357f3a889deaa8df88b16e69.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
sfx/backgate_closed.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,23 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/backgate_closed.wav-f014c3e0e0d93183abb1cc69f9c2d309.sample"
[deps]
source_file="res://sfx/backgate_closed.wav"
dest_files=[ "res://.import/backgate_closed.wav-f014c3e0e0d93183abb1cc69f9c2d309.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=0

BIN
sfx/backgate_open.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,23 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/backgate_open.wav-f7be67da16658d53b71196cc08305adb.sample"
[deps]
source_file="res://sfx/backgate_open.wav"
dest_files=[ "res://.import/backgate_open.wav-f7be67da16658d53b71196cc08305adb.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=0

BIN
sfx/detach.wav (Stored with Git LFS) Normal file

Binary file not shown.

23
sfx/detach.wav.import Normal file
View File

@ -0,0 +1,23 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/detach.wav-5bcdb173f103ff6e475d3e2109680a0b.sample"
[deps]
source_file="res://sfx/detach.wav"
dest_files=[ "res://.import/detach.wav-5bcdb173f103ff6e475d3e2109680a0b.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=0

BIN
sfx/drive_up.wav (Stored with Git LFS) Normal file

Binary file not shown.

23
sfx/drive_up.wav.import Normal file
View File

@ -0,0 +1,23 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/drive_up.wav-73d0c6898f09f5e44ee565f13e1ea31e.sample"
[deps]
source_file="res://sfx/drive_up.wav"
dest_files=[ "res://.import/drive_up.wav-73d0c6898f09f5e44ee565f13e1ea31e.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=0

BIN
sfx/engine_start_and_drive.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,23 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/engine_start_and_drive.wav-8550d88a67b94b716b69a928e2287f36.sample"
[deps]
source_file="res://sfx/engine_start_and_drive.wav"
dest_files=[ "res://.import/engine_start_and_drive.wav-8550d88a67b94b716b69a928e2287f36.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=0

BIN
sfx/fall.wav (Stored with Git LFS) Normal file

Binary file not shown.

23
sfx/fall.wav.import Normal file
View File

@ -0,0 +1,23 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/fall.wav-d2f4abdcff4f43adfb935f24d6d7d0c4.sample"
[deps]
source_file="res://sfx/fall.wav"
dest_files=[ "res://.import/fall.wav-d2f4abdcff4f43adfb935f24d6d7d0c4.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=0

BIN
sfx/spray.wav (Stored with Git LFS) Normal file

Binary file not shown.

23
sfx/spray.wav.import Normal file
View File

@ -0,0 +1,23 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/spray.wav-eb9e641350516f7246f3384d37a053fd.sample"
[deps]
source_file="res://sfx/spray.wav"
dest_files=[ "res://.import/spray.wav-eb9e641350516f7246f3384d37a053fd.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=0

BIN
sfx/squish1.wav (Stored with Git LFS) Normal file

Binary file not shown.

23
sfx/squish1.wav.import Normal file
View File

@ -0,0 +1,23 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/squish1.wav-80ecf9302ce4ca36606ac35dd15cfffb.sample"
[deps]
source_file="res://sfx/squish1.wav"
dest_files=[ "res://.import/squish1.wav-80ecf9302ce4ca36606ac35dd15cfffb.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=0

107
vehicles/Postie.gd Normal file
View File

@ -0,0 +1,107 @@
extends Node2D
# Declare member variables here. Examples:
# var a = 2
# var b = "text"
var marker: Node2D = null
# Called when the node enters the scene tree for the first time.
func _ready():
set_ramp_enabled(false)
set_backgate_enabled(true)
marker = get_parent().get_parent().find_node("MarkerRoadPoint")
if marker == null:
print("No marker!")
return
self.position = Vector2(-600, marker.position.y)
_drive_anim()
var state = null
func _drive_anim():
$Tween.interpolate_property(self, "position", self.position, marker.position, 5.0, Tween.TRANS_CUBIC, Tween.EASE_OUT)
state = "driving_in"
$Tween.start()
$DriveInSfx.pitch_scale = rand_range(0.9, 1.2)
$DriveInSfx.play()
func set_ramp_enabled(enabled: bool):
$N/BackRamp.visible = enabled
$N/BackRamp/StaticBody2D/BackRampShape.disabled = not enabled
func set_backgate_enabled(enabled: bool):
$N/BackGate.visible = enabled
$N/BackGate/StaticBody2D/BackGateShape.disabled = not enabled
func _on_driven_in():
set_backgate_enabled(false)
set_ramp_enabled(true)
$BackgateOpenSfx.pitch_scale = rand_range(0.8, 1.2)
$BackgateOpenSfx.play()
$Tween.interpolate_callback(self, 5.0, "_drive_off")
$Tween.start()
func _drive_off():
set_ramp_enabled(false)
set_backgate_enabled(true)
# Attach bodies that are in the back, if they are sellable.
var saleable_bodies = $SaleArea.get_overlapping_bodies()
for body in saleable_bodies:
if body.is_in_group("saleable") and body.has_property("sale_value") and body.sale_value != null:
var glob_pos = body.global_position
body.get_parent().remove(body)
$N/Back/ToSell.add_child(body)
body.global_position = glob_pos
# Disable collisions
$N.collision_layer = 0
$BackgateClosedSfx.pitch_scale = rand_range(0.8, 1.2)
$BackgateClosedSfx.play()
state = "driving_off"
$Tween.interpolate_property(self, "position:x", position.x, 2000, 5.0, Tween.TRANS_QUAD, Tween.EASE_IN, 3.5)
$DriveOffSfx.pitch_scale = rand_range(0.8, 1.2)
$Tween.interpolate_callback($DriveOffSfx, 1.0, "play")
$Tween.start()
func _on_driven_off():
# Find out what is in the back of the van
# Give the player monies for that.
# N.B. anything that was purchased by the player is resellable for quarter of its original price.
var coin_made = 0
for body in $N/Back/ToSell.get_children():
if body.is_in_group("saleable") and body.has_property("sale_value") and body.sale_value != null:
coin_made += body.sale_value
else:
print("trying to sell ", body, " but no value!")
print("coin made: ", coin_made)
func _on_Tween_tween_all_completed():
if state == "driving_in":
self._on_driven_in()
if state == "driving_off":
self._on_driven_off()
self.queue_free()
state = null
var sale_value_so_far = 0
func _on_SaleArea_body_entered(body):
if body.is_in_group("saleable") and body.has_property("sale_value") and body.sale_value != null:
sale_value_so_far += body.sale_value
func _on_SaleArea_body_exited(body):
if body.is_in_group("saleable") and body.has_property("sale_value") and body.sale_value != null:
sale_value_so_far -= body.sale_value

90
vehicles/Postie.tscn Normal file
View File

@ -0,0 +1,90 @@
[gd_scene load_steps=14 format=2]
[ext_resource path="res://vehicles/postie_backramp.png" type="Texture" id=1]
[ext_resource path="res://vehicles/postie_back.png" type="Texture" id=2]
[ext_resource path="res://vehicles/postie_fore.png" type="Texture" id=3]
[ext_resource path="res://vehicles/postie_backclosed.png" type="Texture" id=4]
[ext_resource path="res://vehicles/Postie.gd" type="Script" id=5]
[ext_resource path="res://sfx/drive_up.wav" type="AudioStream" id=6]
[ext_resource path="res://sfx/backgate_open.wav" type="AudioStream" id=7]
[ext_resource path="res://sfx/backgate_closed.wav" type="AudioStream" id=8]
[ext_resource path="res://sfx/engine_start_and_drive.wav" type="AudioStream" id=9]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 28.9012, 1.69078 )
[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 3, 47.5 )
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 92.5, 1.5 )
[sub_resource type="RectangleShape2D" id=4]
extents = Vector2( 89, 47 )
[node name="Postie" type="Node2D"]
script = ExtResource( 5 )
[node name="N" type="StaticBody2D" parent="."]
position = Vector2( 160, 1 )
[node name="Back" type="Sprite" parent="N"]
texture = ExtResource( 2 )
[node name="ToSell" type="Node2D" parent="N/Back"]
[node name="BackRamp" type="Sprite" parent="N"]
texture = ExtResource( 1 )
[node name="StaticBody2D" type="StaticBody2D" parent="N/BackRamp"]
[node name="BackRampShape" type="CollisionShape2D" parent="N/BackRamp/StaticBody2D"]
position = Vector2( -137.814, 92.987 )
rotation = -0.914553
shape = SubResource( 1 )
[node name="BackGate" type="Sprite" parent="N"]
texture = ExtResource( 4 )
[node name="StaticBody2D" type="StaticBody2D" parent="N/BackGate"]
[node name="BackGateShape" type="CollisionShape2D" parent="N/BackGate/StaticBody2D"]
position = Vector2( -116, 20.5 )
shape = SubResource( 3 )
[node name="Front" type="Sprite" parent="N"]
z_index = 1
texture = ExtResource( 3 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="N"]
polygon = PoolVector2Array( -118, 63, 68, 65, 68, -83, 116, -83, 159, -8, 159, 93, 147, 93, 139, 113, 112, 113, 100, 96, -45, 95, -54, 111, -80, 111, -90, 96, -118, 96 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="N"]
position = Vector2( -26.5, -29.5 )
shape = SubResource( 2 )
[node name="Tween" type="Tween" parent="."]
[node name="BackgateOpenSfx" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 7 )
[node name="DriveInSfx" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 6 )
[node name="BackgateClosedSfx" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 8 )
[node name="DriveOffSfx" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 9 )
[node name="SaleArea" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 16
[node name="CollisionShape2D" type="CollisionShape2D" parent="SaleArea"]
position = Vector2( 136, 21 )
shape = SubResource( 4 )
[connection signal="tween_all_completed" from="Tween" to="." method="_on_Tween_tween_all_completed"]
[connection signal="body_entered" from="SaleArea" to="." method="_on_SaleArea_body_entered"]
[connection signal="body_exited" from="SaleArea" to="." method="_on_SaleArea_body_exited"]

BIN
vehicles/postie.kra (Stored with Git LFS) Normal file

Binary file not shown.

BIN
vehicles/postie_back.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/postie_back.png-097eb7e4d79c10754cfe780a8f346db9.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://vehicles/postie_back.png"
dest_files=[ "res://.import/postie_back.png-097eb7e4d79c10754cfe780a8f346db9.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
vehicles/postie_backclosed.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/postie_backclosed.png-188eed316f1a9a86c14964b419814d0e.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://vehicles/postie_backclosed.png"
dest_files=[ "res://.import/postie_backclosed.png-188eed316f1a9a86c14964b419814d0e.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
vehicles/postie_backramp.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/postie_backramp.png-e10a4dac361dd2732df9c2cc0dd7ad7c.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://vehicles/postie_backramp.png"
dest_files=[ "res://.import/postie_backramp.png-e10a4dac361dd2732df9c2cc0dd7ad7c.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
vehicles/postie_fore.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/postie_fore.png-669daa96665f1872e3c74fbf11332dd1.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://vehicles/postie_fore.png"
dest_files=[ "res://.import/postie_fore.png-669daa96665f1872e3c74fbf11332dd1.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0