feat: simple flag shader, rudimentary save points

This commit is contained in:
Jakob Feldmann 2023-04-16 15:34:11 +02:00
parent 3c2119a57d
commit 47775b2b27
20 changed files with 642 additions and 409 deletions

BIN
blobby1.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

View File

@ -60,7 +60,8 @@ GlobalState="*res://src/Autoload/GlobalState.tscn"
[debug]
settings/fps/force_fps=144
settings/fps/force_fps=60
settings/stdout/print_fps=true
[display]
@ -122,6 +123,7 @@ move_left={
"events": [ Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"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":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"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":16777231,"unicode":0,"echo":false,"script":null)
]
}
move_right={
@ -129,12 +131,14 @@ move_right={
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":15,"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":16777233,"unicode":0,"echo":false,"script":null)
]
}
jump={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"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":16777232,"unicode":0,"echo":false,"script":null)
]
}
pause={
@ -154,6 +158,7 @@ duck={
"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"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)
, 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":16777234,"unicode":0,"echo":false,"script":null)
]
}
click={
@ -164,6 +169,7 @@ click={
interact={
"deadzone": 0.5,
"events": [ 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":69,"unicode":0,"echo":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":16777221,"unicode":0,"echo":false,"script":null)
]
}
@ -182,6 +188,7 @@ interact={
[physics]
common/physics_fps=120
2d/thread_model=2
2d/cell_size=100
common/enable_object_picking=false
@ -191,6 +198,7 @@ common/enable_object_picking=false
quality/intended_usage/framebuffer_allocation=0
quality/intended_usage/framebuffer_allocation.mobile=0
2d/snapping/use_gpu_pixel_snap=true
threads/thread_model=2
environment/default_environment="res://default_env.tres"
quality/2d/use_pixel_snap=true
environment/2d/use_nvidia_rect_flicker_workaround=true

View File

@ -7,7 +7,7 @@
extents = Vector2( 2.72463, 1.17848 )
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 15, 6.12039 )
extents = Vector2( 18.75, 6.38067 )
[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 14.563, 9.38461 )
@ -64,9 +64,10 @@ modulate = Color( 0, 0.0392157, 1, 1 )
position = Vector2( 0, -6.44095 )
collision_layer = 2
input_pickable = false
monitorable = false
[node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"]
position = Vector2( 0, -0.2 )
position = Vector2( 0, 0.0602803 )
shape = SubResource( 2 )
[node name="EnemySkin" type="Area2D" parent="." groups=["player"]]

View File

@ -426,7 +426,7 @@ graph_offset = Vector2( -340, -193 )
extents = Vector2( 12, 9 )
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 15, 5.12039 )
extents = Vector2( 18.5714, 2.85714 )
[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 18.2143, 13.5955 )
@ -466,7 +466,6 @@ position = Vector2( 0, -7 )
texture = ExtResource( 1 )
hframes = 2
vframes = 4
frame = 1
[node name="AnimationPlayer" type="AnimationPlayer" parent="FrogSprite"]
anims/RESET = SubResource( 5 )
@ -551,9 +550,10 @@ position = Vector2( 0, -10 )
scale = Vector2( 0.7, 0.7 )
collision_layer = 2
input_pickable = false
monitorable = false
[node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"]
position = Vector2( 1.19209e-07, -1.42857 )
position = Vector2( 0, -1.42857 )
shape = SubResource( 2 )
[node name="EnemySkin" type="Area2D" parent="."]

View File

@ -1,10 +1,30 @@
extends Node
var progress_dict := {} setget set_progress
var progress_dict := {} setget set_progress, get_progress
var wallet := 0 setget set_wallet
func set_progress(value) -> void:
progress_dict = value
func get_progress() -> Dictionary:
return progress_dict
func set_savepoint(levelName: String, position: Vector2) -> void:
if(!progress_dict.has(levelName)):
progress_dict[levelName] = {}
progress_dict[levelName]["savepoint"] = position
func get_property_value(levelName: String, propertyName: String) -> int:
if progress_dict.has(levelName) && progress_dict[levelName].has(propertyName):
return progress_dict[levelName][propertyName]
else:
return 0
func get_savepoint(levelName: String) -> Vector2:
if progress_dict.has(levelName) && progress_dict[levelName].has("savepoint"):
return progress_dict[levelName]["savepoint"]
else:
return Vector2()
func set_wallet(value) -> void:
wallet = value

View File

@ -4,7 +4,6 @@ signal button_pushed
onready var activatorArea = $"%ActivatorArea"
onready var indicatorPlayer = $"%IndicatorPlayer"
onready var elevator = get_node("./Portal")
onready var signalManager := get_tree().root.get_child(1).get_node("%SignalManager")
onready var unactivatable_timer := $Timer
@ -13,7 +12,7 @@ var activatable = false
func _process(delta):
if activatable && Input.is_action_just_released("interact"):
selfActivate()
signalManager.emit_signal("button_pushed")
self.emit_signal("button_pushed")
func selfActivate():

View File

@ -40,9 +40,11 @@ tracks/0/keys = {
radius = 18.0
[node name="FrogFreeButton" type="Node2D"]
z_index = -1
script = ExtResource( 1 )
[node name="Button" type="Sprite" parent="."]
z_index = -2
texture = ExtResource( 2 )
__meta__ = {
"_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PVNwcml0ZS9BbmltYXRpb25QbGF5ZXIKc291cmNlfD1yZXM6Ly9hc3NldHMvbmV1dHJhbCBvYmplY3QvYnV0dG9uLmFzZXByaXRlCmxheWVyfD0Kb3BfZXhwfD1GYWxzZQpvX2ZvbGRlcnw9Cm9fbmFtZXw9Cm9ubHlfdmlzaWJsZXw9RmFsc2UKb19leF9wfD0K"
@ -50,13 +52,11 @@ __meta__ = {
[node name="Digit" type="Sprite" parent="."]
position = Vector2( 0.5, 0.5 )
z_index = 1
texture = ExtResource( 4 )
hframes = 10
[node name="Indicator" type="Sprite" parent="."]
position = Vector2( 0, -7 )
z_index = 1
texture = ExtResource( 3 )
__meta__ = {
"_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PUluZGljYXRvcjIvQW5pbWF0aW9uUGxheWVyCnNvdXJjZXw9cmVzOi8vYXNzZXRzL25ldXRyYWwgb2JqZWN0L2J1dHRvblN0YXRlSW5kaWNhdG9yLmFzZXByaXRlCmxheWVyfD0Kb3BfZXhwfD1GYWxzZQpvX2ZvbGRlcnw9Cm9fbmFtZXw9Cm9ubHlfdmlzaWJsZXw9RmFsc2UKb19leF9wfD0K"

View File

@ -0,0 +1,14 @@
shader_type canvas_item;
uniform float speed = 0.6;
uniform float frequency_y = 3.0;
uniform float frequency_x = 3.0;
uniform float amplitude = 0.3;
uniform float inclination = 1.0;
void vertex() {
VERTEX.y += sin((UV.x - TIME * speed) * frequency_y) * amplitude * UV.x;
VERTEX.x += cos((UV.y - TIME * speed) * frequency_x) * amplitude * 0.5 * UV.x;
VERTEX.x -= UV.y * inclination;
}

View File

@ -0,0 +1,11 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=2]
[ext_resource path="res://src/Environment/Flag.gdshader" type="Shader" id=1]
[resource]
shader = ExtResource( 1 )
shader_param/speed = 0.6
shader_param/frequency_y = 10.0
shader_param/frequency_x = 3.0
shader_param/amplitude = 1.0
shader_param/inclination = 1.0

View File

@ -36,10 +36,7 @@ drag_margin_top = 0.38
drag_margin_bottom = 0.0
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 6
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 10
frame = 8
[node name="Blobby" parent="." instance=ExtResource( 3 )]
unique_name_in_owner = true

View File

@ -36,10 +36,10 @@ unique_name_in_owner = true
drag_margin_bottom = 0.3
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 1
frame = 5
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 1
frame = 5
[node name="Blobby" parent="." instance=ExtResource( 8 )]
unique_name_in_owner = true

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=18 format=2]
[gd_scene load_steps=19 format=2]
[ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=1]
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=2]
@ -19,6 +19,8 @@
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
[sub_resource type="AnimationNodeStateMachinePlayback" id=5]
[node name="Level 2" type="Node2D"]
script = ExtResource( 15 )
__meta__ = {
@ -42,13 +44,11 @@ unique_name_in_owner = true
drag_margin_bottom = 0.3
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 2
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 2
frame = 12
[node name="Blobby" parent="." instance=ExtResource( 9 )]
unique_name_in_owner = true
position = Vector2( 2385, -81 )
[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 4 )
@ -89,6 +89,12 @@ tile_data = PoolIntArray( -1179518, 1, 0, -1179517, 0, 0, -1179515, 0, 0, -11795
[node name="WhatAreFrog" parent="." instance=ExtResource( 14 )]
position = Vector2( 3432, -10 )
[node name="Digit" parent="WhatAreFrog" index="2"]
visible = false
[node name="AnimationTree" parent="WhatAreFrog/FrogSprite" index="1"]
parameters/playback = SubResource( 5 )
[node name="TileMap" type="TileMap" parent="."]
unique_name_in_owner = true
tile_set = ExtResource( 1 )
@ -240,6 +246,9 @@ position = Vector2( 3279, -192 )
[node name="SavePoint" parent="." instance=ExtResource( 16 )]
position = Vector2( 2502, -120 )
[node name="AnimationPlayer" parent="SavePoint" index="2"]
autoplay = "RollOutFlag"
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]
[editable path="SignalManager"]
@ -252,3 +261,5 @@ position = Vector2( 2502, -120 )
[editable path="PitArea2"]
[editable path="PitArea3"]
[editable path="PitArea4"]
[editable path="WhatAreFrog"]
[editable path="SavePoint"]

File diff suppressed because one or more lines are too long

1
src/Levels/Level 4.gd Normal file
View File

@ -0,0 +1 @@
extends LevelTemplate

335
src/Levels/Level 4.tscn Normal file

File diff suppressed because one or more lines are too long

View File

@ -2,6 +2,8 @@ extends Node2D
class_name LevelTemplate
onready var signalManager := $"%SignalManager"
onready var levelState := $"%LevelState"
func _ready() -> void:
signalManager.emit_signal("level_loaded")

View File

@ -0,0 +1,15 @@
extends Node2D
onready var levelState := get_tree().root.get_child(1).get_node("%LevelState")
func _ready() -> void:
if(GlobalState.get_savepoint(levelState.levelName) == global_position + Vector2(0,18)):
$AnimationPlayer.play("rolloutflag")
#TODO Animation plays over again on reset
#TODO What should be saved when reaching a savepoint besides the position in the level
func _on_SaveArea_area_entered(area: Area2D) -> void:
#TODO Spawnheight fixed
if(!GlobalState.get_savepoint(levelState.levelName) == global_position + Vector2(0,18)):
$AnimationPlayer.play("rolloutflag")
GlobalState.set_savepoint(levelState.levelName, global_position + Vector2(0,18))

View File

@ -1,29 +1,170 @@
[gd_scene load_steps=4 format=2]
[gd_scene load_steps=8 format=2]
[ext_resource path="res://assets/neutral object/blobby1Flag.png" type="Texture" id=1]
[ext_resource path="res://assets/neutral object/flagPoleAndBasePlant.png" type="Texture" id=2]
[ext_resource path="res://src/Environment/FlagMaterial.tres" type="Material" id=3]
[ext_resource path="res://src/NeutralObjects/SavePoint.gd" type="Script" id=4]
[sub_resource type="Animation" id=2]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("Flag:material:shader_param/speed")
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": [ 0.6 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Flag:material:shader_param/frequency_y")
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": [ 10.0 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Flag:material:shader_param/frequency_x")
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": [ 3.0 ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("Flag:material:shader_param/amplitude")
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": [ 1.0 ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Flag:material:shader_param/inclination")
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": [ 1.0 ]
}
tracks/5/type = "value"
tracks/5/path = NodePath("Flag:texture_offset")
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( 27, 0 ) ]
}
[sub_resource type="Animation" id=3]
resource_name = "rolloutflag"
tracks/0/type = "value"
tracks/0/path = NodePath("Flag:material:shader_param/speed")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ 0.0, 0.6 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Flag:material:shader_param/amplitude")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ 0.0, 1.0 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Flag:material:shader_param/inclination")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ 0.0, 1.0 ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("Flag:texture_offset")
tracks/3/interp = 2
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0, 1 ),
"transitions": PoolRealArray( 1, 0.196146 ),
"update": 0,
"values": [ Vector2( 27, 0 ), Vector2( 0, 0 ) ]
}
[sub_resource type="CapsuleShape2D" id=1]
radius = 12.0
[node name="SavePoint" type="Node2D"]
script = ExtResource( 4 )
[node name="FlagPole" type="Sprite" parent="."]
z_index = 1
texture = ExtResource( 2 )
[node name="Flag" type="Sprite" parent="."]
visible = false
position = Vector2( -1, 4 )
[node name="Flag" type="Polygon2D" parent="."]
show_behind_parent = true
light_mask = 0
material = ExtResource( 3 )
position = Vector2( -24, -24 )
z_as_relative = false
texture = ExtResource( 1 )
region_enabled = true
region_rect = Rect2( 10, 20, 25, 15 )
region_filter_clip = true
texture_offset = Vector2( 27, 0 )
invert_border = 0.1
polygon = PoolVector2Array( 10, 35, 36, 35, 36, 20, 10, 20, 12, 20, 14, 20, 16, 20, 18, 20, 20, 20, 22, 20, 24, 20, 26, 20, 28, 20, 30, 20, 32, 20, 34, 20, 34, 35, 32, 35, 30, 35, 28, 35, 26, 35, 24, 35, 22, 35, 20, 35, 18, 35, 16, 35, 14, 35, 12, 35 )
uv = PoolVector2Array( 10, 35, 36, 35, 36, 20, 10, 20, 12, 20, 14, 20, 16, 20, 18, 20, 20, 20, 22, 20, 24, 20, 26, 20, 28, 20, 30, 20, 32, 20, 34, 20, 34, 35, 32, 35, 30, 35, 28, 35, 26, 35, 24, 35, 22, 35, 20, 35, 18, 35, 16, 35, 14, 35, 12, 35 )
polygons = [ PoolIntArray( 3, 4, 41 ), PoolIntArray( 5, 34, 4 ), PoolIntArray( 0, 27, 4 ), PoolIntArray( 4, 26, 27 ), PoolIntArray( 5, 4, 26 ), PoolIntArray( 5, 26, 25 ), PoolIntArray( 6, 5, 25 ), PoolIntArray( 6, 25, 24 ), PoolIntArray( 6, 7, 24 ), PoolIntArray( 7, 24, 23 ), PoolIntArray( 7, 8, 23 ), PoolIntArray( 8, 23, 22 ), PoolIntArray( 8, 9, 22 ), PoolIntArray( 9, 22, 21 ), PoolIntArray( 9, 10, 21 ), PoolIntArray( 10, 11, 21 ), PoolIntArray( 20, 21, 11 ), PoolIntArray( 11, 20, 19 ), PoolIntArray( 11, 19, 12 ), PoolIntArray( 12, 19, 18 ), PoolIntArray( 12, 13, 18 ), PoolIntArray( 13, 14, 18 ), PoolIntArray( 17, 18, 14 ), PoolIntArray( 17, 16, 14 ), PoolIntArray( 15, 14, 16 ), PoolIntArray( 15, 1, 16 ), PoolIntArray( 2, 1, 15 ), PoolIntArray( 3, 0, 4 ) ]
internal_vertex_count = 24
[node name="Area2D" type="Area2D" parent="."]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/RESET = SubResource( 2 )
anims/rolloutflag = SubResource( 3 )
[node name="SaveArea" type="Area2D" parent="."]
collision_layer = 0
monitorable = false
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="SaveArea"]
position = Vector2( -15, 6 )
shape = SubResource( 1 )
[connection signal="area_entered" from="SaveArea" to="." method="_on_SaveArea_area_entered"]

View File

@ -2,4 +2,5 @@ extends MeshInstance
func _process(delta):
rotate_y(PI / 4.0 * delta)
if(get_parent().visible):
rotate_y(PI / 4.0 * delta)

View File

@ -58,7 +58,7 @@ func _on_level_completed():
reset()
func update_global_state() -> void:
var progress_dict : Dictionary = GlobalState.progress_dict
var progress_dict : Dictionary = GlobalState.get_progress()
var levelProgress : Dictionary = {}
levelProgress["currency"] = currency
@ -70,10 +70,10 @@ func update_global_state() -> void:
if !progress_dict.has(levelName):
progress_dict[levelName] = levelProgress
else:
progress_dict[levelName]["currency"] = progress_dict[levelName]["currency"] + currency
progress_dict[levelName]["kills"] = progress_dict[levelName]["kills"] + kills
progress_dict[levelName]["deaths"] = progress_dict[levelName]["deaths"] + deaths
progress_dict[levelName]["frees"] = progress_dict[levelName]["frees"] + frees
progress_dict[levelName]["currency"] = GlobalState.get_property_value(levelName,"currency") + currency
progress_dict[levelName]["kills"] = GlobalState.get_property_value(levelName,"kills") + kills
progress_dict[levelName]["deaths"] = GlobalState.get_property_value(levelName,"deaths") + deaths
progress_dict[levelName]["frees"] = GlobalState.get_property_value(levelName,"frees") + frees
GlobalState.set_wallet(GlobalState.wallet + currency)