First Prototype
This commit is contained in:
parent
e18beb6c4c
commit
9e3349eec3
40 changed files with 1100 additions and 48 deletions
|
|
@ -11,9 +11,16 @@ extends "res://scenes/game/entities/entity.gd"
|
|||
@onready var moneyValueLabel = $Camera2D/CanvasLayer/Control/HBoxContainer/MoneyValue
|
||||
@onready var objectValue = $Camera2D/CanvasLayer/Control/ObjectValues/ObjectMoneyValue
|
||||
@onready var objectValues = $Camera2D/CanvasLayer/Control/ObjectValues
|
||||
@onready var stormProgress = $Camera2D/CanvasLayer/Control/Storm/ProgressBar
|
||||
@onready var stormUi = $Camera2D/CanvasLayer/Control/Storm
|
||||
@onready var stormTimerDamage = $StormTimerDamage
|
||||
@onready var sormwarningLabel = $Camera2D/CanvasLayer/Control/STORMWARNINGLabel
|
||||
|
||||
|
||||
@onready var camera = $Camera2D
|
||||
|
||||
@onready var animation = $Camera2D/CanvasLayer/Control/AnimationPlayer
|
||||
|
||||
var rollSpeed = maxSpeed * 5
|
||||
|
||||
const rollCooldown = 5.0
|
||||
|
|
@ -29,7 +36,10 @@ var object = null
|
|||
var lastDirection : Vector2
|
||||
var lastdirectionVector : Vector2
|
||||
|
||||
var shownStormProgress = false
|
||||
|
||||
func _ready():
|
||||
animation.play("Introduction")
|
||||
rollCooldownBar.min_value = 0
|
||||
rollCooldownBar.max_value = rollCooldown
|
||||
healthBar.min_value = 0
|
||||
|
|
@ -44,8 +54,18 @@ func setHudValues():
|
|||
objectValue.text = str(object.getValue())
|
||||
else:
|
||||
objectValues.hide()
|
||||
G.setLastHealth(health)
|
||||
stormProgress.value = G.StormTimeLeft
|
||||
if G.isStormThreshold():
|
||||
if not shownStormProgress:
|
||||
sormwarningLabel.show()
|
||||
shownStormProgress = true
|
||||
animation.play("StormTimerAppear")
|
||||
stormProgress.max_value = G.getStormThreshold()
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
Storm()
|
||||
setHudValues()
|
||||
var direction : Vector2 = Input.get_vector("MOVE_LEFT", "MOVE_RIGHT", "MOVE_UP", "MOVE_DOWN").normalized()
|
||||
#var direction : Vector2 = Vector2(
|
||||
|
|
@ -59,10 +79,8 @@ func _physics_process(delta: float) -> void:
|
|||
lastdirectionVector = directionVector
|
||||
if Input.is_action_just_pressed("ROLL") and lastDirection != Vector2.ZERO:
|
||||
roll()
|
||||
if Input.is_action_just_pressed("ROLL") and lastDirection != Vector2.ZERO:
|
||||
roll()
|
||||
if Input.is_action_just_pressed("DOOR"):
|
||||
openDoor()
|
||||
#if Input.is_action_just_pressed("DOOR"):
|
||||
#openDoor()
|
||||
if Input.is_action_just_pressed("Pickup"):
|
||||
match carrying:
|
||||
false:
|
||||
|
|
@ -168,5 +186,22 @@ func _on_hit_box_signal_hit(damage: Variant) -> void:
|
|||
camera.shake(2,0.5)
|
||||
|
||||
|
||||
func _on_death() -> void:
|
||||
print("HOHO")
|
||||
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
|
||||
if anim_name == "StormTimerAppear":
|
||||
animation.play("StormTimer")
|
||||
|
||||
func Storm():
|
||||
if G.StormTimeLeft <= 0 and stormTimerDamage.is_stopped():
|
||||
stormTimerDamage.start(1)
|
||||
|
||||
func _on_storm_timer_damage_timeout() -> void:
|
||||
if stormTimerDamage.is_stopped():
|
||||
stormTimerDamage.start(1)
|
||||
hit(1)
|
||||
|
||||
func pause():
|
||||
get_parent().pause()
|
||||
|
||||
|
||||
func resume():
|
||||
get_parent().resume()
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=17 format=3 uid="uid://0duodsosmfpq"]
|
||||
[gd_scene load_steps=24 format=3 uid="uid://0duodsosmfpq"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b18cf4i8v6a1" path="res://scenes/game/entities/entity.tscn" id="1_kmfws"]
|
||||
[ext_resource type="Script" path="res://scenes/game/entities/player/player.gd" id="2_s0pfn"]
|
||||
|
|
@ -13,10 +13,186 @@
|
|||
[ext_resource type="StyleBox" uid="uid://31r7sc1edews" path="res://Theme/Empty.tres" id="7_luccy"]
|
||||
[ext_resource type="StyleBox" uid="uid://6x7dblrcglcl" path="res://Theme/HealthBar.tres" id="8_kgbvc"]
|
||||
[ext_resource type="Texture2D" uid="uid://c2o4115sewunm" path="res://Assets/Icons/Roll.png" id="10_1rhoe"]
|
||||
[ext_resource type="Texture2D" uid="uid://caumye6m8df7a" path="res://Assets/Icons/Storm.png" id="12_7rs7u"]
|
||||
[ext_resource type="StyleBox" uid="uid://db7h680qdfcrv" path="res://scenes/menu/startMenu/Storm.tres" id="12_wohun"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_7ukjs"]
|
||||
radius = 8.94427
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4p2qj"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Camera2D/CanvasLayer/Control/Storm:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Camera2D/CanvasLayer/Control/Storm:scale")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Camera2D/CanvasLayer/Control/IntroductionLabel:visible_ratio")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Camera2D/CanvasLayer/Control/WARNING:visible_ratio")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Camera2D/CanvasLayer/Control/ColorRect:modulate")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_7uqa8"]
|
||||
resource_name = "StormTimerAppear"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Camera2D/CanvasLayer/Control/Storm:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Camera2D/CanvasLayer/Control/Storm:scale")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0), Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_8ahng"]
|
||||
resource_name = "StormTimer"
|
||||
length = 0.8
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Camera2D/CanvasLayer/Control/Storm:scale")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.4, 0.8),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1), Vector2(1.1, 1.1), Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_1uxm1"]
|
||||
resource_name = "Introduction"
|
||||
length = 21.0
|
||||
step = 0.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Camera2D/CanvasLayer/Control/IntroductionLabel:visible_ratio")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1.5, 4.5, 6),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 1.0, 1.0, 0.0]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Camera2D/CanvasLayer/Control/WARNING:visible_ratio")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(7, 9, 12, 14),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 1.0, 1.0, 0.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Camera2D/CanvasLayer/Control/ColorRect:modulate")
|
||||
tracks/2/interp = 2
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(15, 16.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/3/type = "method"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath(".")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 16.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"pause"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"resume"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_1cg8p"]
|
||||
_data = {
|
||||
"Introduction": SubResource("Animation_1uxm1"),
|
||||
"RESET": SubResource("Animation_4p2qj"),
|
||||
"StormTimer": SubResource("Animation_8ahng"),
|
||||
"StormTimerAppear": SubResource("Animation_7uqa8")
|
||||
}
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_8u3aq"]
|
||||
radius = 8.94427
|
||||
|
||||
|
|
@ -27,6 +203,7 @@ radius = 8.94427
|
|||
light_mask = 1536
|
||||
visibility_layer = 1536
|
||||
collision_layer = 1536
|
||||
collision_mask = 46
|
||||
script = ExtResource("2_s0pfn")
|
||||
|
||||
[node name="CollisionShape2D" parent="." index="0"]
|
||||
|
|
@ -167,6 +344,101 @@ layout_mode = 2
|
|||
layout_mode = 2
|
||||
texture = ExtResource("4_6t857")
|
||||
|
||||
[node name="STORMWARNINGLabel" type="Label" parent="Camera2D/CanvasLayer/Control" index="3"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -0.5
|
||||
offset_right = 0.5
|
||||
offset_bottom = 67.0
|
||||
grow_horizontal = 2
|
||||
text = "STORMWARNING"
|
||||
|
||||
[node name="Storm" type="HBoxContainer" parent="Camera2D/CanvasLayer/Control" index="4"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -320.0
|
||||
offset_top = 67.0
|
||||
offset_right = 320.0
|
||||
offset_bottom = 152.0
|
||||
grow_horizontal = 2
|
||||
pivot_offset = Vector2(320, 42)
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="Camera2D/CanvasLayer/Control/Storm" index="0"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("12_7rs7u")
|
||||
expand_mode = 2
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="Camera2D/CanvasLayer/Control/Storm" index="1"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 1
|
||||
theme_override_styles/background = ExtResource("7_luccy")
|
||||
theme_override_styles/fill = ExtResource("12_wohun")
|
||||
show_percentage = false
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Camera2D/CanvasLayer/Control" index="5"]
|
||||
process_mode = 3
|
||||
root_node = NodePath("../../../..")
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_1cg8p")
|
||||
}
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="Camera2D/CanvasLayer/Control" index="6"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="WARNING" type="Label" parent="Camera2D/CanvasLayer/Control" index="7"]
|
||||
process_mode = 3
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -500.0
|
||||
offset_top = -500.0
|
||||
offset_right = 500.0
|
||||
offset_bottom = 500.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "WARNING"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
autowrap_mode = 3
|
||||
visible_characters = 0
|
||||
visible_ratio = 0.0
|
||||
|
||||
[node name="IntroductionLabel" type="Label" parent="Camera2D/CanvasLayer/Control" index="8"]
|
||||
process_mode = 3
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -500.0
|
||||
offset_top = -500.0
|
||||
offset_right = 500.0
|
||||
offset_bottom = 500.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "INTRODUCTION"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
visible_characters = 0
|
||||
visible_ratio = 0.0
|
||||
|
||||
[node name="RollTimer" type="Timer" parent="." index="3"]
|
||||
one_shot = true
|
||||
|
||||
|
|
@ -197,9 +469,13 @@ texture_scale = 2.0
|
|||
position = Vector2(0, 4)
|
||||
shape = SubResource("CircleShape2D_bjveg")
|
||||
|
||||
[connection signal="death" from="." to="." method="_on_death"]
|
||||
[node name="StormTimerDamage" type="Timer" parent="." index="9"]
|
||||
one_shot = true
|
||||
|
||||
[connection signal="animation_finished" from="Camera2D/CanvasLayer/Control/AnimationPlayer" to="." method="_on_animation_player_animation_finished"]
|
||||
[connection signal="timeout" from="RollTimer" to="." method="_on_roll_timeout"]
|
||||
[connection signal="timeout" from="RollCooldownTimer" to="." method="_on_roll_cooldown_timer_timeout"]
|
||||
[connection signal="signalHit" from="HitBox" to="." method="_on_hit_box_signal_hit"]
|
||||
[connection signal="timeout" from="StormTimerDamage" to="." method="_on_storm_timer_damage_timeout"]
|
||||
|
||||
[editable path="HitBox"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue