diff --git a/game/characters/player/player.tscn453257227.tmp b/game/characters/player/player.tscn453257227.tmp new file mode 100644 index 0000000..abf1dc8 --- /dev/null +++ b/game/characters/player/player.tscn453257227.tmp @@ -0,0 +1,70 @@ +[gd_scene format=3 uid="uid://dtcad8tdx78tg"] + +[ext_resource type="Script" uid="uid://bb8kc32sggrn2" path="res://game/characters/player/player.gd" id="1_xln5q"] +[ext_resource type="PackedScene" uid="uid://5qlocc0yu8ug" path="res://game/collision_switcher.tscn" id="2_j06tb"] +[ext_resource type="PackedScene" uid="uid://cvx6akiplg21s" path="res://game/characters/player/player_sprite.tscn" id="2_n6ad3"] +[ext_resource type="PackedScene" uid="uid://bdk23k2bypj8w" path="res://game/characters/player/state_machine/player_state_machine.tscn" id="4_ybe51"] +[ext_resource type="PackedScene" uid="uid://c0d4wfdg7xjti" path="res://game/characters/player/state_machine/player_state.tscn" id="5_65114"] +[ext_resource type="Script" uid="uid://bnxccvt265hlu" path="res://game/characters/player/state_machine/idle_state.gd" id="6_3qf5w"] +[ext_resource type="Script" uid="uid://nc62375vpnsw" path="res://game/characters/player/state_machine/walk_left_state.gd" id="7_btbyc"] +[ext_resource type="Script" uid="uid://cbv84l1duwfep" path="res://game/characters/player/state_machine/look_around_state.gd" id="7_ybe51"] +[ext_resource type="Script" uid="uid://cxa3hf7tqpeoa" path="res://game/characters/player/state_machine/jump_state.gd" id="8_ebhjm"] +[ext_resource type="Script" uid="uid://d2uiegcx4jeuk" path="res://game/characters/player/state_machine/dead_state.gd" id="9_gdxv1"] +[ext_resource type="Script" uid="uid://kufq6bwnv80t" path="res://game/characters/player/state_machine/walk_right_state.gd" id="9_wdx7h"] +[ext_resource type="Script" uid="uid://c0bbmif5ucw28" path="res://game/characters/player/state_machine/jump_left_state.gd" id="11_q2504"] +[ext_resource type="Script" uid="uid://cr0hkb4wggcys" path="res://game/characters/player/state_machine/jump_right_state.gd" id="12_l8uo5"] +[ext_resource type="Script" uid="uid://c7myrm50fnpfn" path="res://game/characters/player/state_machine/fall_state.gd" id="13_m2bqk"] +[ext_resource type="Script" uid="uid://cmimnl6jf78ao" path="res://game/characters/player/state_machine/fall_left_state.gd" id="14_2lnxg"] +[ext_resource type="Script" uid="uid://5s7ko6pcqagy" path="res://game/characters/player/state_machine/fall_right_state.gd" id="15_bfpdl"] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_xln5q"] +radius = 4.0 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_t6gq4"] +radius = 2.0 +height = 15.0 + +[node name="Player" type="CharacterBody2D" unique_id=508706417] +collision_layer = 128 +collision_mask = 33 +script = ExtResource("1_xln5q") + +[node name="AnimatedSprite2D" parent="." unique_id=237719081 instance=ExtResource("2_n6ad3")] +animation = &"jump_right" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1101386361] +position = Vector2(0, 1) +shape = SubResource("CapsuleShape2D_xln5q") + +[node name="CollisionSwitcher" parent="." unique_id=601548821 node_paths=PackedStringArray("object") instance=ExtResource("2_j06tb")] +object = NodePath("..") + +[node name="Camera2D" type="Camera2D" parent="." unique_id=45512317] +process_callback = 0 +position_smoothing_enabled = true + +[node name="Pickups" type="Node2D" parent="." unique_id=958829860] +position = Vector2(0, -24) + +[node name="JumpBufferTimer" type="Timer" parent="." unique_id=740877224] +wait_time = 0.1 +one_shot = true + +[node name="CoyoteTimeTimer" type="Timer" parent="." unique_id=117837002] +wait_time = 0.1 +one_shot = true + +[node name="CenterArea2D" type="Area2D" parent="." unique_id=490866430] +collision_layer = 0 +collision_mask = 35 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="CenterArea2D" unique_id=1350886064] +shape = SubResource("CapsuleShape2D_t6gq4") + +[node name="PlayerStateMachine" parent="." unique_id=633169960 node_paths=PackedStringArray("player", "initial_state") instance=ExtResource("4_ybe51")] +player = NodePath("..") +initial_state = NodePath("IdleState") + +[node name="IdleState" parent="PlayerStateMachine" unique_id=739226464 node_paths=PackedStringArray("look_around_state") instance=ExtResource("5_65114")] +script = ExtResource("6_3qf5w") +player = Object(CharacterBody2D,"unique_name_in_owner":false,"process_mod \ No newline at end of file diff --git a/game/characters/player/player_sprite.gd b/game/characters/player/player_sprite.gd new file mode 100644 index 0000000..341e1d5 --- /dev/null +++ b/game/characters/player/player_sprite.gd @@ -0,0 +1,24 @@ +class_name PlayerSprite +extends AnimatedSprite2D + + + + +const ANIMATION_IDLE = "idle" + +const ANIMATION_LOOK_AROUND = "look_around" +const ANIMATION_LOOK_AROUND_1 = "look_around_1" +const ANIMATION_LOOK_AROUND_2 = "look_around_2" + +const ANIMATION_FALL = "fall" +const ANIMATION_FALL_LEFT = "fall_left" +const ANIMATION_FALL_RIGHT = "fall_right" + +const ANIMATION_JUMP = "jump" +const ANIMATION_JUMP_LEFT = "jump_left" +const ANIMATION_JUMP_RIGHT = "jump_right" + +const ANIMATION_WALK_LEFT = "walk_left" +const ANIMATION_WALK_RIGHT = "walk_right" + +const ANIMATION_DEATH = "death" diff --git a/game/characters/player/player_sprite.gd.uid b/game/characters/player/player_sprite.gd.uid new file mode 100644 index 0000000..4a8fddb --- /dev/null +++ b/game/characters/player/player_sprite.gd.uid @@ -0,0 +1 @@ +uid://bpclheyn60yp7 diff --git a/game/characters/player/player_sprite.tscn b/game/characters/player/player_sprite.tscn index 94b81a0..e087b37 100644 --- a/game/characters/player/player_sprite.tscn +++ b/game/characters/player/player_sprite.tscn @@ -2,6 +2,7 @@ [ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="1_57ht8"] [ext_resource type="Texture2D" uid="uid://bjccaucrio6ht" path="res://images/characters/player.png" id="2_mi53p"] +[ext_resource type="Script" uid="uid://bpclheyn60yp7" path="res://game/characters/player/player_sprite.gd" id="3_ulfbe"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_i05k5"] shader = ExtResource("1_57ht8") @@ -426,7 +427,8 @@ animations = [{ "speed": 20.0 }] -[node name="AnimatedSprite2D" type="AnimatedSprite2D" unique_id=259457082] +[node name="PlayerSprite2D" type="AnimatedSprite2D" unique_id=259457082] material = SubResource("ShaderMaterial_i05k5") sprite_frames = SubResource("SpriteFrames_v8w1g") animation = &"fall_right" +script = ExtResource("3_ulfbe") diff --git a/game/characters/player/state_machine/dead_state.gd b/game/characters/player/state_machine/dead_state.gd index d903d01..d6334c0 100644 --- a/game/characters/player/state_machine/dead_state.gd +++ b/game/characters/player/state_machine/dead_state.gd @@ -1,15 +1,12 @@ extends PlayerState -const ANIMATION_DEATH = "death" - - func enter() -> void: SoundManager.play_sfx_stream(SoundManager.sfx_stream_death, player.global_position) player.sprite.animation_finished.connect(_on_aniimation_finished, CONNECT_ONE_SHOT) player.process_mode = Node.PROCESS_MODE_ALWAYS process_mode = Node.PROCESS_MODE_ALWAYS - player.sprite.play(ANIMATION_DEATH) + player.sprite.play(PlayerSprite.ANIMATION_DEATH) get_tree().paused = true diff --git a/game/characters/player/state_machine/fall_left_state.gd b/game/characters/player/state_machine/fall_left_state.gd index 7639350..3ea2cf7 100644 --- a/game/characters/player/state_machine/fall_left_state.gd +++ b/game/characters/player/state_machine/fall_left_state.gd @@ -1,8 +1,5 @@ extends PlayerState -const ANIMATION_FALL_LEFT = "fall_left" - - func enter() -> void: - player.sprite.play(ANIMATION_FALL_LEFT) + player.sprite.play(PlayerSprite.ANIMATION_FALL_LEFT) diff --git a/game/characters/player/state_machine/fall_right_state.gd b/game/characters/player/state_machine/fall_right_state.gd index 9a6c697..956fd51 100644 --- a/game/characters/player/state_machine/fall_right_state.gd +++ b/game/characters/player/state_machine/fall_right_state.gd @@ -1,8 +1,5 @@ extends PlayerState -const ANIMATION_FALL_RIGHT = "fall_right" - - func enter() -> void: - player.sprite.play(ANIMATION_FALL_RIGHT) + player.sprite.play(PlayerSprite.ANIMATION_FALL_RIGHT) diff --git a/game/characters/player/state_machine/fall_state.gd b/game/characters/player/state_machine/fall_state.gd index 83422be..7e84c62 100644 --- a/game/characters/player/state_machine/fall_state.gd +++ b/game/characters/player/state_machine/fall_state.gd @@ -1,8 +1,5 @@ extends PlayerState -const ANIMATION_FALL = "fall" - - func enter() -> void: - player.sprite.play(ANIMATION_FALL) + player.sprite.play(PlayerSprite.ANIMATION_FALL) diff --git a/game/characters/player/state_machine/idle_state.gd b/game/characters/player/state_machine/idle_state.gd index 66a9f20..1160ace 100644 --- a/game/characters/player/state_machine/idle_state.gd +++ b/game/characters/player/state_machine/idle_state.gd @@ -1,8 +1,6 @@ extends PlayerState -const ANIMATION_IDLE = "idle" - const LOOK_AROUND_CHANCE = 25 @@ -11,7 +9,7 @@ const LOOK_AROUND_CHANCE = 25 func enter() -> void: player.sprite.animation_looped.connect(_on_animation_looped) - player.sprite.play(ANIMATION_IDLE) + player.sprite.play(PlayerSprite.ANIMATION_IDLE) func exit() -> void: diff --git a/game/characters/player/state_machine/jump_left_state.gd b/game/characters/player/state_machine/jump_left_state.gd index 9f99cac..e4b66cc 100644 --- a/game/characters/player/state_machine/jump_left_state.gd +++ b/game/characters/player/state_machine/jump_left_state.gd @@ -1,8 +1,5 @@ extends PlayerState -const ANIMATION_JUMP_LEFT = "jump_left" - - func enter() -> void: - player.sprite.play(ANIMATION_JUMP_LEFT) + player.sprite.play(PlayerSprite.ANIMATION_JUMP_LEFT) diff --git a/game/characters/player/state_machine/jump_right_state.gd b/game/characters/player/state_machine/jump_right_state.gd index 40fde50..55085ba 100644 --- a/game/characters/player/state_machine/jump_right_state.gd +++ b/game/characters/player/state_machine/jump_right_state.gd @@ -1,8 +1,5 @@ extends PlayerState -const ANIMATION_JUMP_RIGHT = "jump_right" - - func enter() -> void: - player.sprite.play(ANIMATION_JUMP_RIGHT) + player.sprite.play(PlayerSprite.ANIMATION_JUMP_RIGHT) diff --git a/game/characters/player/state_machine/jump_state.gd b/game/characters/player/state_machine/jump_state.gd index 027d937..6513919 100644 --- a/game/characters/player/state_machine/jump_state.gd +++ b/game/characters/player/state_machine/jump_state.gd @@ -1,8 +1,5 @@ extends PlayerState -const ANIMATION_JUMP = "jump" - - func enter() -> void: - player.sprite.play(ANIMATION_JUMP) + player.sprite.play(PlayerSprite.ANIMATION_JUMP) diff --git a/game/characters/player/state_machine/look_around_state.gd b/game/characters/player/state_machine/look_around_state.gd index 11aae0a..614188e 100644 --- a/game/characters/player/state_machine/look_around_state.gd +++ b/game/characters/player/state_machine/look_around_state.gd @@ -1,10 +1,6 @@ extends PlayerState -const ANIMATION_LOOK_AROUND_1 = "look_around_1" -const ANIMATION_LOOK_AROUND_2 = "look_around_2" - - func enter() -> void: player.sprite.animation_finished.connect(_on_animation_finished, CONNECT_ONE_SHOT) player.sprite.play(_get_animation()) @@ -15,4 +11,7 @@ func _on_animation_finished() -> void: func _get_animation() -> String: - return ANIMATION_LOOK_AROUND_1 if randi_range(1, 2) == 1 else ANIMATION_LOOK_AROUND_2 + if randi_range(1, 2) == 1: + return PlayerSprite.ANIMATION_LOOK_AROUND_1 + else: + return PlayerSprite.ANIMATION_LOOK_AROUND_2 diff --git a/game/characters/player/state_machine/walk_left_state.gd b/game/characters/player/state_machine/walk_left_state.gd index badad6b..4b3600e 100644 --- a/game/characters/player/state_machine/walk_left_state.gd +++ b/game/characters/player/state_machine/walk_left_state.gd @@ -1,8 +1,5 @@ extends PlayerState -const ANIMATION_WALK_LEFT = "walk_left" - - func enter() -> void: - player.sprite.play(ANIMATION_WALK_LEFT) + player.sprite.play(PlayerSprite.ANIMATION_WALK_LEFT) diff --git a/game/characters/player/state_machine/walk_right_state.gd b/game/characters/player/state_machine/walk_right_state.gd index ae4b535..5f90767 100644 --- a/game/characters/player/state_machine/walk_right_state.gd +++ b/game/characters/player/state_machine/walk_right_state.gd @@ -1,8 +1,5 @@ extends PlayerState -const ANIMATION_WALK_RIGHT = "walk_right" - - func enter() -> void: - player.sprite.play(ANIMATION_WALK_RIGHT) + player.sprite.play(PlayerSprite.ANIMATION_WALK_RIGHT) diff --git a/game/levels/level_7.gd b/game/levels/level_7.gd index ea5f3dc..0400c01 100644 --- a/game/levels/level_7.gd +++ b/game/levels/level_7.gd @@ -1,10 +1,6 @@ extends AbstractLevel -const ANIMATION_WALK_LEFT = "walk_left" -const ANIMATION_WALK_RIGHT = "walk_right" - - const CUTSCENE_CAMERA_TIME = 5 const CUTSCENE_HAZE_TIME = 0.1 @@ -100,7 +96,7 @@ func _do_cutscene_phase_one() -> void: cutscene_camera.enabled = true cutscene_camera.make_current() cutscene_fake_player.show() - cutscene_fake_player.play(ANIMATION_WALK_RIGHT, _cutscene_player_speed_factor) + cutscene_fake_player.play(PlayerSprite.ANIMATION_WALK_RIGHT, _cutscene_player_speed_factor) var tween : Tween = create_tween() tween.set_ease(Tween.EASE_IN_OUT) tween.set_trans(Tween.TRANS_QUAD) @@ -108,16 +104,16 @@ func _do_cutscene_phase_one() -> void: func _do_cutscene_phase_four() -> void: - cutscene_fake_player.play(ANIMATION_WALK_LEFT,_cutscene_player_speed_factor) + cutscene_fake_player.play(PlayerSprite.ANIMATION_WALK_LEFT,_cutscene_player_speed_factor) func _do_cutscene_phase_six() -> void: _cutscene_player_speed_factor = 0.25 - cutscene_fake_player.play(ANIMATION_WALK_RIGHT, _cutscene_player_speed_factor) + cutscene_fake_player.play(PlayerSprite.ANIMATION_WALK_RIGHT, _cutscene_player_speed_factor) func _do_cutscene_phase_seven() -> void: - cutscene_fake_player.play("look_around", 0.5) + cutscene_fake_player.play(PlayerSprite.ANIMATION_LOOK_AROUND, 0.5) cutscene_player_timer.start()