feat: simple flag shader, rudimentary save points
This commit is contained in:
parent
3c2119a57d
commit
47775b2b27
BIN
blobby1.ico
Normal file
BIN
blobby1.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 98 KiB |
@ -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
|
||||
|
||||
@ -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"]]
|
||||
|
||||
@ -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="."]
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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():
|
||||
|
||||
@ -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"
|
||||
|
||||
14
src/Environment/Flag.gdshader
Normal file
14
src/Environment/Flag.gdshader
Normal 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;
|
||||
}
|
||||
11
src/Environment/FlagMaterial.tres
Normal file
11
src/Environment/FlagMaterial.tres
Normal 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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
1
src/Levels/Level 4.gd
Normal file
@ -0,0 +1 @@
|
||||
extends LevelTemplate
|
||||
335
src/Levels/Level 4.tscn
Normal file
335
src/Levels/Level 4.tscn
Normal file
File diff suppressed because one or more lines are too long
@ -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")
|
||||
|
||||
|
||||
15
src/NeutralObjects/SavePoint.gd
Normal file
15
src/NeutralObjects/SavePoint.gd
Normal 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))
|
||||
@ -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"]
|
||||
|
||||
1
src/ThirdParty/Demo/meshinstance.gd
vendored
1
src/ThirdParty/Demo/meshinstance.gd
vendored
@ -2,4 +2,5 @@ extends MeshInstance
|
||||
|
||||
|
||||
func _process(delta):
|
||||
if(get_parent().visible):
|
||||
rotate_y(PI / 4.0 * delta)
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user