figured it out lol

This commit is contained in:
Haze Weathers 2024-07-08 17:12:22 -04:00
parent 45ffc4d3b7
commit d5260e5ec6
3 changed files with 413 additions and 5 deletions

View file

@ -131,6 +131,16 @@ func _gui_input(event: InputEvent) -> void:
selected_shard = posmod(selected_shard - 1, 8) selected_shard = posmod(selected_shard - 1, 8)
shard_title.text = LevelData.levels[selected_level].shard_titles[selected_shard] shard_title.text = LevelData.levels[selected_level].shard_titles[selected_shard]
shard_arrow.position.x = filled_shards.get_child(selected_shard).position.x shard_arrow.position.x = filled_shards.get_child(selected_shard).position.x
elif event.is_action_pressed("next_level"):
var level = int(clamp(selected_level + 1, 0, LevelData.levels.size() - 1))
if _can_travel(level):
_select_level(level)
_update_stats(false)
elif event.is_action_pressed("prev_level"):
var level = int(clamp(selected_level - 1, 0, LevelData.levels.size() - 1))
if _can_travel(level):
_select_level(level)
_update_stats(false)
func _select_level(level_id: int) -> void: func _select_level(level_id: int) -> void:
var level = LevelData.levels[level_id] var level = LevelData.levels[level_id]
@ -197,7 +207,7 @@ func _travel_to_level(level_name: String) -> void:
tween.tween_callback(hop_tween, "kill") tween.tween_callback(hop_tween, "kill")
tween.tween_property(player_sprite, "position:y", -2.0, 0.0) tween.tween_property(player_sprite, "position:y", -2.0, 0.0)
func _update_stats() -> void: func _update_stats(popup: bool = true) -> void:
# fill in level panel information # fill in level panel information
var save_id = LevelData.levels[selected_level].save_id var save_id = LevelData.levels[selected_level].save_id
var save_data: Save.LevelSaveData = Save.current_file.levels[save_id] var save_data: Save.LevelSaveData = Save.current_file.levels[save_id]
@ -212,8 +222,12 @@ func _update_stats() -> void:
$"%BossFlavorText".text = "Speediest Smashing" $"%BossFlavorText".text = "Speediest Smashing"
11: 11:
$"%PressStartBoss".text = "Press Start To Change The Future!" $"%PressStartBoss".text = "Press Start To Change The Future!"
$"%BossFlavorText".text = "Fastest Future" $"%BossFlavorText".text = "Fastest Future"
animation_player.play("show_boss") if popup:
animation_player.play("show_boss")
elif not boss_shown:
$AuxPlayer.play("hide_stats")
animation_player.play("show_boss")
boss_shown = true boss_shown = true
else: else:
score_any.text = "%05d" % save_data.score_any score_any.text = "%05d" % save_data.score_any
@ -226,7 +240,12 @@ func _update_stats() -> void:
selected_shard = 0 selected_shard = 0
shard_title.text = LevelData.levels[selected_level].shard_titles[selected_shard] shard_title.text = LevelData.levels[selected_level].shard_titles[selected_shard]
shard_arrow.position.x = filled_shards.get_child(selected_shard).position.x shard_arrow.position.x = filled_shards.get_child(selected_shard).position.x
animation_player.play("show_stats") if popup:
animation_player.play("show_stats")
elif boss_shown:
$AuxPlayer.play("hide_boss")
animation_player.play("show_stats")
boss_shown = false
func _on_StayHere_pressed() -> void: func _on_StayHere_pressed() -> void:

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=35 format=2] [gd_scene load_steps=44 format=2]
[ext_resource path="res://menus/level_select_scholar.gd" type="Script" id=1] [ext_resource path="res://menus/level_select_scholar.gd" type="Script" id=1]
[ext_resource path="res://graphics/level_select/world_map.png" type="Texture" id=2] [ext_resource path="res://graphics/level_select/world_map.png" type="Texture" id=2]
@ -424,6 +424,372 @@ tracks/1/keys = {
"values": [ Vector2( 0, 0.02 ), Vector2( 1, 0.02 ), Vector2( 1, 1 ) ] "values": [ Vector2( 0, 0.02 ), Vector2( 1, 0.02 ), Vector2( 1, 1 ) ]
} }
[sub_resource type="Animation" id=18]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("LevelStats:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ false ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("LevelStats:rect_scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("ExitPopup:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ false ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("ExitPopup:rect_scale")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 1e-05, 0.011 ) ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("MenuPopup:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ false ]
}
tracks/5/type = "value"
tracks/5/path = NodePath("MenuPopup:rect_scale")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ) ]
}
[sub_resource type="Animation" id=19]
resource_name = "hide_boss"
length = 0.4
tracks/0/type = "value"
tracks/0/path = NodePath("BossCenter:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("BossCenter:rect_scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.2, 0.4 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ), Vector2( 1, 0.04 ), Vector2( 0, 0.04 ) ]
}
[sub_resource type="Animation" id=20]
resource_name = "hide_exit"
length = 0.4
tracks/0/type = "value"
tracks/0/path = NodePath("ExitPopup:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0.4 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("ExitPopup:rect_scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.2, 0.4 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ), Vector2( 1, 0.07 ), Vector2( 0, 0.07 ) ]
}
tracks/2/type = "method"
tracks/2/path = NodePath("MenuPopup/PanelContainer/VBoxContainer/Menu/MenuButton")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0.4 ),
"transitions": PoolRealArray( 1 ),
"values": [ {
"args": [ ],
"method": "grab_focus"
} ]
}
tracks/3/type = "method"
tracks/3/path = NodePath("ExitPopup")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( ),
"transitions": PoolRealArray( ),
"values": [ ]
}
[sub_resource type="Animation" id=21]
resource_name = "hide_menu"
length = 0.4
tracks/0/type = "value"
tracks/0/path = NodePath("MenuPopup:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0.4 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("MenuPopup:rect_scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.2, 0.4 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ), Vector2( 1, 0.035 ), Vector2( 1e-05, 0.035 ) ]
}
tracks/2/type = "method"
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0.4 ),
"transitions": PoolRealArray( 1 ),
"values": [ {
"args": [ ],
"method": "grab_focus"
} ]
}
[sub_resource type="Animation" id=22]
resource_name = "hide_stats"
length = 0.4
tracks/0/type = "value"
tracks/0/path = NodePath("LevelStats:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0.4 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("LevelStats:rect_scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.2, 0.4 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ), Vector2( 1, 0.02 ), Vector2( 0, 0.02 ) ]
}
[sub_resource type="Animation" id=23]
resource_name = "show_boss"
length = 0.4
tracks/0/type = "value"
tracks/0/path = NodePath("BossCenter:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("BossCenter:rect_scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.2, 0.4 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Vector2( 0, 0.04 ), Vector2( 1, 0.04 ), Vector2( 1, 1 ) ]
}
[sub_resource type="Animation" id=24]
resource_name = "show_exit"
length = 0.4
tracks/0/type = "value"
tracks/0/path = NodePath("ExitPopup:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("ExitPopup:rect_scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.2, 0.4 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Vector2( 0, 0.07 ), Vector2( 1, 0.07 ), Vector2( 1, 1 ) ]
}
tracks/2/type = "method"
tracks/2/path = NodePath("ExitPopup/PanelContainer/VBoxContainer/HBoxContainer/StayHere")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"values": [ {
"args": [ ],
"method": "grab_focus"
} ]
}
[sub_resource type="Animation" id=25]
resource_name = "show_menu"
length = 0.4
tracks/0/type = "value"
tracks/0/path = NodePath("MenuPopup:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("MenuPopup:rect_scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.2, 0.4 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Vector2( 1e-05, 0.035 ), Vector2( 1, 0.035 ), Vector2( 1, 1 ) ]
}
tracks/2/type = "method"
tracks/2/path = NodePath("MenuPopup/PanelContainer/VBoxContainer/Resume/ResumeButton")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"values": [ {
"args": [ ],
"method": "grab_focus"
} ]
}
[sub_resource type="Animation" id=26]
resource_name = "show_stats"
length = 0.4
tracks/0/type = "value"
tracks/0/path = NodePath("LevelStats:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("LevelStats:rect_scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.2, 0.4 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Vector2( 0, 0.02 ), Vector2( 1, 0.02 ), Vector2( 1, 1 ) ]
}
[node name="LevelSelect" type="Control"] [node name="LevelSelect" type="Control"]
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
@ -898,6 +1264,17 @@ anims/show_exit = SubResource( 12 )
anims/show_menu = SubResource( 14 ) anims/show_menu = SubResource( 14 )
anims/show_stats = SubResource( 7 ) anims/show_stats = SubResource( 7 )
[node name="AuxPlayer" type="AnimationPlayer" parent="."]
anims/RESET = SubResource( 18 )
anims/hide_boss = SubResource( 19 )
anims/hide_exit = SubResource( 20 )
anims/hide_menu = SubResource( 21 )
anims/hide_stats = SubResource( 22 )
anims/show_boss = SubResource( 23 )
anims/show_exit = SubResource( 24 )
anims/show_menu = SubResource( 25 )
anims/show_stats = SubResource( 26 )
[node name="ShardCount" type="Label" parent="."] [node name="ShardCount" type="Label" parent="."]
anchor_left = 1.0 anchor_left = 1.0
anchor_top = 1.0 anchor_top = 1.0

View file

@ -353,6 +353,18 @@ ui_start={
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null)
] ]
} }
prev_level={
"deadzone": 0.5,
"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":4,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":65,"unicode":0,"echo":false,"script":null)
]
}
next_level={
"deadzone": 0.5,
"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":5,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":83,"unicode":0,"echo":false,"script":null)
]
}
[input_devices] [input_devices]