Added button sfx and, export presets and checkpoints
parent
167d48cbcf
commit
c5b441196b
|
@ -1,3 +1,4 @@
|
|||
# Godot 4+ specific ignores
|
||||
.godot/
|
||||
/android/
|
||||
out/
|
||||
|
|
|
@ -6,12 +6,14 @@ extends CharacterBody2D
|
|||
@onready var map: MainLevel = get_tree().root.get_child(0).get_node("TileMap")
|
||||
@onready var tile_map: TileMapLayer = get_tree().root.get_child(0).get_node("TileMap/TileMapLayer")
|
||||
@onready var camera: Camera2D = $Sprite2D/Camera2D
|
||||
|
||||
@export var speed: float = 40
|
||||
@export var respawn_point: Marker2D
|
||||
@onready var start_point: Node2D = get_tree().root.get_child(0).get_node("Start")
|
||||
|
||||
const TILE_SIZE = 8
|
||||
|
||||
@export var speed: float = 40
|
||||
@export var checkpoints: Array[Node2D]
|
||||
@export var current_checkpoint := 0
|
||||
|
||||
var is_moving = false
|
||||
var should_move = false
|
||||
var is_dead = false
|
||||
|
@ -41,7 +43,10 @@ func _physics_process(delta):
|
|||
_try_move(delta)
|
||||
|
||||
func _respawn():
|
||||
position = respawn_point.position
|
||||
if checkpoints.size() > 0 and checkpoints[current_checkpoint]:
|
||||
position = checkpoints[current_checkpoint].position
|
||||
else:
|
||||
position = start_point.position
|
||||
sprite.global_position = position
|
||||
is_dead = false
|
||||
is_moving = false
|
||||
|
|
|
@ -0,0 +1,146 @@
|
|||
[preset.0]
|
||||
|
||||
name="Web"
|
||||
platform="Web"
|
||||
runnable=true
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="out/web/GBJAM12.html"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
variant/extensions_support=false
|
||||
variant/thread_support=false
|
||||
vram_texture_compression/for_desktop=true
|
||||
vram_texture_compression/for_mobile=false
|
||||
html/export_icon=true
|
||||
html/custom_html_shell=""
|
||||
html/head_include=""
|
||||
html/canvas_resize_policy=2
|
||||
html/focus_canvas_on_start=true
|
||||
html/experimental_virtual_keyboard=false
|
||||
progressive_web_app/enabled=false
|
||||
progressive_web_app/ensure_cross_origin_isolation_headers=true
|
||||
progressive_web_app/offline_page=""
|
||||
progressive_web_app/display=1
|
||||
progressive_web_app/orientation=0
|
||||
progressive_web_app/icon_144x144=""
|
||||
progressive_web_app/icon_180x180=""
|
||||
progressive_web_app/icon_512x512=""
|
||||
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
||||
|
||||
[preset.1]
|
||||
|
||||
name="Windows Desktop"
|
||||
platform="Windows Desktop"
|
||||
runnable=true
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="out/win/GBJAM12.exe"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.1.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=false
|
||||
texture_format/s3tc_bptc=true
|
||||
texture_format/etc2_astc=false
|
||||
binary_format/architecture="x86_64"
|
||||
codesign/enable=false
|
||||
codesign/timestamp=true
|
||||
codesign/timestamp_server_url=""
|
||||
codesign/digest_algorithm=1
|
||||
codesign/description=""
|
||||
codesign/custom_options=PackedStringArray()
|
||||
application/modify_resources=true
|
||||
application/icon=""
|
||||
application/console_wrapper_icon=""
|
||||
application/icon_interpolation=4
|
||||
application/file_version=""
|
||||
application/product_version=""
|
||||
application/company_name=""
|
||||
application/product_name=""
|
||||
application/file_description=""
|
||||
application/copyright=""
|
||||
application/trademarks=""
|
||||
application/export_angle=0
|
||||
application/export_d3d12=0
|
||||
application/d3d12_agility_sdk_multiarch=true
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
|
||||
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
|
||||
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
|
||||
$settings = New-ScheduledTaskSettingsSet
|
||||
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
|
||||
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
|
||||
Start-ScheduledTask -TaskName godot_remote_debug
|
||||
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
|
||||
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||
Remove-Item -Recurse -Force '{temp_dir}'"
|
||||
|
||||
[preset.2]
|
||||
|
||||
name="Linux"
|
||||
platform="Linux"
|
||||
runnable=true
|
||||
advanced_options=false
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="out/linux/GBJAM12.x86_64"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.2.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=false
|
||||
texture_format/s3tc_bptc=true
|
||||
texture_format/etc2_astc=false
|
||||
binary_format/architecture="x86_64"
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||
export DISPLAY=:0
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
\"{temp_dir}/{exe_name}\" {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
|
@ -1,7 +1,8 @@
|
|||
class_name GroundButton
|
||||
extends Area2D
|
||||
|
||||
@onready var sprite = $Sprite2D
|
||||
@onready var sprite: Sprite2D = $Sprite2D
|
||||
@onready var audio_player: AudioStreamPlayer2D = $AudioStreamPlayer2D
|
||||
|
||||
@export var nodes: Array[Node2D]
|
||||
@export var is_active = false
|
||||
|
@ -15,6 +16,7 @@ func _on_body_entered(body):
|
|||
if body is Player:
|
||||
is_active = not is_active
|
||||
_flip()
|
||||
audio_player.play()
|
||||
|
||||
func _flip():
|
||||
$Sprite2D.frame = 1 if is_active else 0
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://bdlyuun4o4val"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://bdlyuun4o4val"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://d02y0dsfaynbl" path="res://puzzles/assets/button.png" id="1_atyp4"]
|
||||
[ext_resource type="Script" path="res://puzzles/button/button.gd" id="1_gpasp"]
|
||||
[ext_resource type="AudioStream" uid="uid://scqlma1158w3" path="res://scenes/assets/jingles/button.wav" id="3_b8x25"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xj0k4"]
|
||||
size = Vector2(6, 6)
|
||||
|
@ -16,4 +17,8 @@ hframes = 2
|
|||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_xj0k4")
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource("3_b8x25")
|
||||
volume_db = -6.0
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
extends Node
|
||||
|
||||
@onready var player: Player = get_tree().root.get_child(0).get_node("Player")
|
||||
|
||||
@export var checkpoint_id := 0
|
||||
|
||||
func _on_body_entered(body):
|
||||
if body is Player:
|
||||
(body as Player).current_checkpoint = checkpoint_id
|
|
@ -1,6 +1,14 @@
|
|||
extends PuzzleManager
|
||||
|
||||
@export var next_room_wall: Node2D
|
||||
@export var box_puzzle_light: Sprite2D
|
||||
@export var switch_puzzle_light: Sprite2D
|
||||
|
||||
func _on_finish_room():
|
||||
next_room_wall.queue_free()
|
||||
|
||||
func _on_simple_box_puzzle_complete_puzzle():
|
||||
box_puzzle_light.frame = 17
|
||||
|
||||
func _on_simple_switch_puzzle_complete_puzzle():
|
||||
switch_puzzle_light.frame = 17
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
3,0,0,0,120,4,4,1,94,0,4,128,0,256,1,0,0,0,0,1,36,2,0,0,0,1,0,1,0,-1,-1,-1,-1,-1,-1,-1,
|
Binary file not shown.
|
@ -0,0 +1,24 @@
|
|||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://scqlma1158w3"
|
||||
path="res://.godot/imported/button.wav-2051c3133f81351a8e18d5705f2e0936.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://scenes/assets/jingles/button.wav"
|
||||
dest_files=["res://.godot/imported/button.wav-2051c3133f81351a8e18d5705f2e0936.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
|
Binary file not shown.
Before Width: | Height: | Size: 1018 B After Width: | Height: | Size: 1.0 KiB |
115
scenes/main.tscn
115
scenes/main.tscn
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=32 format=4 uid="uid://cbg46c4q2ian4"]
|
||||
[gd_scene load_steps=37 format=4 uid="uid://cbg46c4q2ian4"]
|
||||
|
||||
[ext_resource type="TileSet" uid="uid://beqyyhtlgk8tg" path="res://scenes/assets/main_tileset.tres" id="1_maeo5"]
|
||||
[ext_resource type="PackedScene" uid="uid://chmxabjea27ay" path="res://puzzles/grave/grave.tscn" id="2_fe1sr"]
|
||||
|
@ -7,6 +7,7 @@
|
|||
[ext_resource type="PackedScene" uid="uid://cjus07bbbn4wd" path="res://puzzles/box/box.tscn" id="3_jiwuy"]
|
||||
[ext_resource type="AudioStream" uid="uid://dptmnectas0m2" path="res://scenes/assets/jingles/grave_jingle1.wav" id="3_v8h4p"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2qq84wh76mkx" path="res://puzzles/box/box_switch.tscn" id="4_7yk3l"]
|
||||
[ext_resource type="Script" path="res://puzzles/checkpoint.gd" id="4_8rbbs"]
|
||||
[ext_resource type="Script" path="res://puzzles/room_manager/prison_manager.gd" id="4_fpjs2"]
|
||||
[ext_resource type="AudioStream" uid="uid://b6gukjjv4o82b" path="res://scenes/assets/jingles/grave_jingle4.wav" id="4_xmwgp"]
|
||||
[ext_resource type="Script" path="res://puzzles/grave_puzzle.gd" id="8_sr3y5"]
|
||||
|
@ -26,6 +27,18 @@
|
|||
[ext_resource type="Script" path="res://puzzles/room_manager/ball_course_manager.gd" id="22_oli26"]
|
||||
[ext_resource type="Script" path="res://puzzles/button/ball_button.gd" id="23_sf041"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xcgii"]
|
||||
size = Vector2(26, 48)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_j3x8b"]
|
||||
size = Vector2(16, 56)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_265wp"]
|
||||
size = Vector2(32, 56)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_t0k1c"]
|
||||
size = Vector2(16, 32)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_x2olj"]
|
||||
size = Vector2(17, 8)
|
||||
|
||||
|
@ -56,17 +69,58 @@ tile_map_data = PackedByteArray("AAAUAAAAAAAAAAAAAAAUAAEAAAAAAAAAAAAUAAIAAAAAAAA
|
|||
tile_set = ExtResource("1_maeo5")
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="PlayerRespawn" type="Marker2D" parent="."]
|
||||
[node name="Start" type="Marker2D" parent="."]
|
||||
position = Vector2(-180, 284)
|
||||
|
||||
[node name="Player" parent="." node_paths=PackedStringArray("respawn_point") instance=ExtResource("2_w5xov")]
|
||||
[node name="Player" parent="." node_paths=PackedStringArray("checkpoints") instance=ExtResource("2_w5xov")]
|
||||
position = Vector2(220, 60)
|
||||
respawn_point = NodePath("../PlayerRespawn")
|
||||
checkpoints = [NodePath("../Start"), NodePath("../Checkpoints/Hallway"), NodePath("../Checkpoints/Garden"), NodePath("../Checkpoints/BallCourse"), NodePath("../Checkpoints/PostBallCourse")]
|
||||
current_checkpoint = 1
|
||||
|
||||
[node name="PrisonRoomManager" type="Node2D" parent="." node_paths=PackedStringArray("next_room_wall", "mandatory_puzzles")]
|
||||
[node name="Checkpoints" type="Node2D" parent="."]
|
||||
|
||||
[node name="Hallway" type="Area2D" parent="Checkpoints"]
|
||||
position = Vector2(156, 372)
|
||||
script = ExtResource("4_8rbbs")
|
||||
checkpoint_id = 1
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Checkpoints/Hallway"]
|
||||
position = Vector2(3, 0)
|
||||
shape = SubResource("RectangleShape2D_xcgii")
|
||||
|
||||
[node name="Garden" type="Area2D" parent="Checkpoints"]
|
||||
position = Vector2(548, 524)
|
||||
script = ExtResource("4_8rbbs")
|
||||
checkpoint_id = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Checkpoints/Garden"]
|
||||
position = Vector2(16, -4)
|
||||
shape = SubResource("RectangleShape2D_j3x8b")
|
||||
|
||||
[node name="BallCourse" type="Area2D" parent="Checkpoints"]
|
||||
position = Vector2(940, 492)
|
||||
script = ExtResource("4_8rbbs")
|
||||
checkpoint_id = 3
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Checkpoints/BallCourse"]
|
||||
position = Vector2(8, -4)
|
||||
shape = SubResource("RectangleShape2D_265wp")
|
||||
|
||||
[node name="PostBallCourse" type="Area2D" parent="Checkpoints"]
|
||||
position = Vector2(1212, 436)
|
||||
script = ExtResource("4_8rbbs")
|
||||
checkpoint_id = 4
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Checkpoints/PostBallCourse"]
|
||||
position = Vector2(-8, 0)
|
||||
shape = SubResource("RectangleShape2D_t0k1c")
|
||||
|
||||
[node name="PrisonRoomManager" type="Node2D" parent="." node_paths=PackedStringArray("next_room_wall", "box_puzzle_light", "switch_puzzle_light", "mandatory_puzzles")]
|
||||
position = Vector2(-60, 372)
|
||||
script = ExtResource("4_fpjs2")
|
||||
next_room_wall = NodePath("FakeWall3")
|
||||
next_room_wall = NodePath("FakeWall")
|
||||
box_puzzle_light = NodePath("SimpleBoxPuzzleLight")
|
||||
switch_puzzle_light = NodePath("SimpleSwitchPuzzleLight")
|
||||
mandatory_puzzles = [NodePath("SimpleBoxPuzzle"), NodePath("SimpleSwitchPuzzle")]
|
||||
|
||||
[node name="HallwayEntryArrows" type="Node2D" parent="PrisonRoomManager"]
|
||||
|
@ -178,89 +232,103 @@ frame = 15
|
|||
position = Vector2(8.5, 0)
|
||||
shape = SubResource("RectangleShape2D_8unxy")
|
||||
|
||||
[node name="FakeWall3" type="StaticBody2D" parent="PrisonRoomManager"]
|
||||
[node name="FakeWall" type="StaticBody2D" parent="PrisonRoomManager"]
|
||||
position = Vector2(104, 0)
|
||||
|
||||
[node name="FakeWall" type="Sprite2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="FakeWall" type="Sprite2D" parent="PrisonRoomManager/FakeWall"]
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 6
|
||||
|
||||
[node name="FakeWall2" type="Sprite2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="FakeWall2" type="Sprite2D" parent="PrisonRoomManager/FakeWall"]
|
||||
position = Vector2(0, -16)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 6
|
||||
|
||||
[node name="FakeWall3" type="Sprite2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="FakeWall3" type="Sprite2D" parent="PrisonRoomManager/FakeWall"]
|
||||
position = Vector2(0, -8)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 6
|
||||
|
||||
[node name="FakeWall4" type="Sprite2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="FakeWall4" type="Sprite2D" parent="PrisonRoomManager/FakeWall"]
|
||||
position = Vector2(0, 8)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 6
|
||||
|
||||
[node name="FakeWall5" type="Sprite2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="FakeWall5" type="Sprite2D" parent="PrisonRoomManager/FakeWall"]
|
||||
position = Vector2(0, 16)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 6
|
||||
|
||||
[node name="FakeWall6" type="Sprite2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="FakeWall6" type="Sprite2D" parent="PrisonRoomManager/FakeWall"]
|
||||
position = Vector2(8, 8)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 6
|
||||
|
||||
[node name="FakeWall7" type="Sprite2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="FakeWall7" type="Sprite2D" parent="PrisonRoomManager/FakeWall"]
|
||||
position = Vector2(8, 0)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 6
|
||||
|
||||
[node name="FakeWall8" type="Sprite2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="FakeWall8" type="Sprite2D" parent="PrisonRoomManager/FakeWall"]
|
||||
position = Vector2(8, -8)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 6
|
||||
|
||||
[node name="FakeWall9" type="Sprite2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="FakeWall9" type="Sprite2D" parent="PrisonRoomManager/FakeWall"]
|
||||
position = Vector2(16, -8)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 6
|
||||
|
||||
[node name="FakeWall10" type="Sprite2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="FakeWall10" type="Sprite2D" parent="PrisonRoomManager/FakeWall"]
|
||||
position = Vector2(16, 0)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 6
|
||||
|
||||
[node name="FakeWall11" type="Sprite2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="FakeWall11" type="Sprite2D" parent="PrisonRoomManager/FakeWall"]
|
||||
position = Vector2(16, 8)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 6
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PrisonRoomManager/FakeWall3"]
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PrisonRoomManager/FakeWall"]
|
||||
position = Vector2(8, -0.5)
|
||||
shape = SubResource("RectangleShape2D_nrvhp")
|
||||
|
||||
[node name="SimpleSwitchPuzzleLight" type="Sprite2D" parent="PrisonRoomManager"]
|
||||
position = Vector2(104, -24)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 18
|
||||
|
||||
[node name="SimpleBoxPuzzleLight" type="Sprite2D" parent="PrisonRoomManager"]
|
||||
position = Vector2(104, 24)
|
||||
texture = ExtResource("11_hi5wu")
|
||||
hframes = 8
|
||||
vframes = 8
|
||||
frame = 18
|
||||
|
||||
[node name="HallwayManager" type="Node2D" parent="."]
|
||||
position = Vector2(-60, 372)
|
||||
|
||||
|
@ -765,6 +833,7 @@ position = Vector2(0, -16)
|
|||
shape = SubResource("RectangleShape2D_c5an3")
|
||||
|
||||
[node name="VoidLayer" type="TileMapLayer" parent="BallCourseManager/BallPuzzle"]
|
||||
visible = false
|
||||
z_index = 10
|
||||
position = Vector2(4, 4)
|
||||
tile_map_data = PackedByteArray("AAAOAPb/AAAAAAAAAAAOAPf/AAAAAAAAAAAOAPj/AAAAAAAAAAAOAPn/AAAAAAAAAAAOAPr/AAAAAAAAAAAOAPv/AAAAAAAAAAAOAPz/AAAAAAAAAAAOAP3/AAAAAAAAAAAOAP7/AAAAAAAAAAAOAP//AAAAAAAAAAAOAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAOAAIAAAAAAAAAAAAOAAMAAAAAAAAAAAAOAAQAAAAAAAAAAAAOAAUAAAAAAAAAAAAOAAYAAAAAAAAAAAAOAAcAAAAAAAAAAAAOAAgAAAAAAAAAAAAPAPb/AAAAAAAAAAAPAPf/AAAAAAAAAAAPAPj/AAAAAAAAAAAPAPn/AAAAAAAAAAAPAPr/AAAAAAAAAAAPAPv/AAAAAAAAAAAPAPz/AAAAAAAAAAAPAP3/AAAAAAAAAAAPAP7/AAAAAAAAAAAPAP//AAAAAAAAAAAPAAAAAAAAAAAAAAAPAAEAAAAAAAAAAAAPAAIAAAAAAAAAAAAPAAMAAAAAAAAAAAAPAAQAAAAAAAAAAAAPAAUAAAAAAAAAAAAPAAYAAAAAAAAAAAAPAAcAAAAAAAAAAAAPAAgAAAAAAAAAAAAQAPb/AAAAAAAAAAAQAPf/AAAAAAAAAAAQAPj/AAAAAAAAAAAQAPn/AAAAAAAAAAAQAPr/AAAAAAAAAAAQAPv/AAAAAAAAAAAQAPz/AAAAAAAAAAAQAP3/AAAAAAAAAAAQAP7/AAAAAAAAAAAQAP//AAAAAAAAAAAQAAAAAAAAAAAAAAAQAAEAAAAAAAAAAAAQAAIAAAAAAAAAAAAQAAMAAAAAAAAAAAAQAAQAAAAAAAAAAAAQAAUAAAAAAAAAAAAQAAYAAAAAAAAAAAAQAAcAAAAAAAAAAAAQAAgAAAAAAAAAAAARAPb/AAAAAAAAAAARAPf/AAAAAAAAAAARAPj/AAAAAAAAAAARAPn/AAAAAAAAAAARAPr/AAAAAAAAAAARAPv/AAAAAAAAAAARAPz/AAAAAAAAAAARAP3/AAAAAAAAAAARAP7/AAAAAAAAAAARAP//AAAAAAAAAAARAAAAAAAAAAAAAAARAAEAAAAAAAAAAAARAAIAAAAAAAAAAAARAAMAAAAAAAAAAAARAAQAAAAAAAAAAAARAAUAAAAAAAAAAAARAAYAAAAAAAAAAAARAAcAAAAAAAAAAAARAAgAAAAAAAAAAAASAPb/AAAAAAAAAAASAPf/AAAAAAAAAAASAPj/AAAAAAAAAAASAPn/AAAAAAAAAAASAPr/AAAAAAAAAAASAPv/AAAAAAAAAAASAPz/AAAAAAAAAAASAP3/AAAAAAAAAAASAP7/AAAAAAAAAAASAP//AAAAAAAAAAASAAAAAAAAAAAAAAASAAEAAAAAAAAAAAASAAIAAAAAAAAAAAASAAMAAAAAAAAAAAASAAQAAAAAAAAAAAASAAUAAAAAAAAAAAASAAYAAAAAAAAAAAASAAcAAAAAAAAAAAASAAgAAAAAAAAAAAATAPb/AAAAAAAAAAATAPf/AAAAAAAAAAATAPj/AAAAAAAAAAATAPn/AAAAAAAAAAATAPr/AAAAAAAAAAATAPv/AAAAAAAAAAATAPz/AAAAAAAAAAATAP3/AAAAAAAAAAATAP7/AAAAAAAAAAATAP//AAAAAAAAAAATAAAAAAAAAAAAAAATAAEAAAAAAAAAAAATAAIAAAAAAAAAAAATAAMAAAAAAAAAAAATAAQAAAAAAAAAAAATAAUAAAAAAAAAAAATAAYAAAAAAAAAAAATAAcAAAAAAAAAAAATAAgAAAAAAAAAAAAUAPb/AAAAAAAAAAAUAPf/AAAAAAAAAAAUAPj/AAAAAAAAAAAUAPn/AAAAAAAAAAAUAPr/AAAAAAAAAAAUAPv/AAAAAAAAAAAUAPz/AAAAAAAAAAAUAP3/AAAAAAAAAAAUAP7/AAAAAAAAAAAUAP//AAAAAAAAAAAUAAAAAAAAAAAAAAAUAAEAAAAAAAAAAAAUAAIAAAAAAAAAAAAUAAMAAAAAAAAAAAAUAAQAAAAAAAAAAAAUAAUAAAAAAAAAAAAUAAYAAAAAAAAAAAAUAAcAAAAAAAAAAAAUAAgAAAAAAAAAAAAOAO7/AAAAAAAAAAAOAO//AAAAAAAAAAAOAPD/AAAAAAAAAAAOAPH/AAAAAAAAAAAOAPL/AAAAAAAAAAAOAPP/AAAAAAAAAAAOAPT/AAAAAAAAAAAOAPX/AAAAAAAAAAAPAO7/AAAAAAAAAAAPAO//AAAAAAAAAAAPAPD/AAAAAAAAAAAPAPH/AAAAAAAAAAAPAPL/AAAAAAAAAAAPAPP/AAAAAAAAAAAPAPT/AAAAAAAAAAAPAPX/AAAAAAAAAAAQAO7/AAAAAAAAAAAQAO//AAAAAAAAAAAQAPD/AAAAAAAAAAAQAPH/AAAAAAAAAAAQAPL/AAAAAAAAAAAQAPP/AAAAAAAAAAAQAPT/AAAAAAAAAAAQAPX/AAAAAAAAAAARAO7/AAAAAAAAAAARAO//AAAAAAAAAAARAPD/AAAAAAAAAAARAPH/AAAAAAAAAAARAPL/AAAAAAAAAAARAPP/AAAAAAAAAAARAPT/AAAAAAAAAAARAPX/AAAAAAAAAAASAO7/AAAAAAAAAAASAO//AAAAAAAAAAASAPD/AAAAAAAAAAASAPH/AAAAAAAAAAASAPL/AAAAAAAAAAASAPP/AAAAAAAAAAASAPT/AAAAAAAAAAASAPX/AAAAAAAAAAATAO7/AAAAAAAAAAATAO//AAAAAAAAAAATAPD/AAAAAAAAAAATAPH/AAAAAAAAAAATAPL/AAAAAAAAAAATAPP/AAAAAAAAAAATAPT/AAAAAAAAAAATAPX/AAAAAAAAAAAUAO7/AAAAAAAAAAAUAO//AAAAAAAAAAAUAPD/AAAAAAAAAAAUAPH/AAAAAAAAAAAUAPL/AAAAAAAAAAAUAPP/AAAAAAAAAAAUAPT/AAAAAAAAAAAUAPX/AAAAAAAAAAANAPv/AAAGAAAAAAAMAO7/AAAAAAAAAAAMAO//AAAAAAAAAAAMAPD/AAAAAAAAAAAMAPH/AAAAAAAAAAAMAPL/AAAAAAAAAAAMAPP/AAAAAAAAAAAMAPT/AAAAAAAAAAAMAPX/AAAAAAAAAAAMAPb/AAAAAAAAAAAMAPf/AAAAAAAAAAAMAPj/AAAAAAAAAAAMAPn/AAAAAAAAAAAMAPr/AAAAAAAAAAANAO7/AAAAAAAAAAANAO//AAAAAAAAAAANAPD/AAAAAAAAAAANAPH/AAAAAAAAAAANAPL/AAAAAAAAAAANAPP/AAAAAAAAAAANAPT/AAAAAAAAAAANAPX/AAAAAAAAAAANAPb/AAAAAAAAAAANAPf/AAAAAAAAAAANAPj/AAAAAAAAAAANAPn/AAAAAAAAAAANAPr/AAAAAAAAAAA=")
|
||||
|
@ -798,7 +867,7 @@ position = Vector2(136, -104)
|
|||
box = NodePath("../Box")
|
||||
|
||||
[node name="BarsButton" parent="BallCourseManager/BoxPuzzle" node_paths=PackedStringArray("nodes") instance=ExtResource("13_nrbrh")]
|
||||
position = Vector2(136, -8)
|
||||
position = Vector2(144, -16)
|
||||
nodes = [NodePath("../FakeWall")]
|
||||
|
||||
[node name="ArrowsButton" parent="BallCourseManager/BoxPuzzle" node_paths=PackedStringArray("nodes") instance=ExtResource("13_nrbrh")]
|
||||
|
@ -838,7 +907,13 @@ teleport_marker = NodePath("TeleportLocation")
|
|||
[node name="TeleportLocation" parent="BallCourseManager/Stairs" instance=ExtResource("14_4nm2v")]
|
||||
position = Vector2(-296, -24)
|
||||
|
||||
[connection signal="body_entered" from="Checkpoints/Hallway" to="Checkpoints/Hallway" method="_on_body_entered"]
|
||||
[connection signal="body_entered" from="Checkpoints/Garden" to="Checkpoints/Garden" method="_on_body_entered"]
|
||||
[connection signal="body_entered" from="Checkpoints/BallCourse" to="Checkpoints/BallCourse" method="_on_body_entered"]
|
||||
[connection signal="body_entered" from="Checkpoints/PostBallCourse" to="Checkpoints/PostBallCourse" method="_on_body_entered"]
|
||||
[connection signal="finish_room" from="PrisonRoomManager" to="PrisonRoomManager" method="_on_finish_room"]
|
||||
[connection signal="complete_puzzle" from="PrisonRoomManager/SimpleBoxPuzzle" to="PrisonRoomManager" method="_on_simple_box_puzzle_complete_puzzle"]
|
||||
[connection signal="complete_puzzle" from="PrisonRoomManager/SimpleSwitchPuzzle" to="PrisonRoomManager" method="_on_simple_switch_puzzle_complete_puzzle"]
|
||||
[connection signal="finish_room" from="GardenManager" to="GardenManager" method="_on_finish_room"]
|
||||
[connection signal="finish_room" from="BallCourseManager" to="BallCourseManager" method="_on_finish_room"]
|
||||
[connection signal="complete_puzzle" from="BallCourseManager/BallPuzzle" to="BallCourseManager" method="_on_ball_puzzle_complete_puzzle"]
|
||||
|
|
Reference in New Issue