Fix tween movement

This commit is contained in:
Marco 2025-03-05 15:38:52 +01:00
commit 3019bbb88e
6 changed files with 90 additions and 24 deletions

View file

@ -3,6 +3,7 @@
[ext_resource type="FontFile" uid="uid://coek1e2q257pq" path="res://fonts/at01.ttf" id="1_foybo"]
[resource]
line_spacing = 1.0
font = ExtResource("1_foybo")
font_size = 12
outline_size = 3

View file

@ -135,7 +135,7 @@ script = ExtResource("15_17yce")
[node name="LootDrops" type="Node2D" parent="."]
script = ExtResource("16_76vwd")
LootDrops = Array[ExtResource("17_gsthm")]([SubResource("Resource_lh4qp"), SubResource("Resource_fmqd5"), SubResource("Resource_gry1a"), SubResource("Resource_6b6qx")])
LootDrops = [SubResource("Resource_lh4qp"), SubResource("Resource_fmqd5"), SubResource("Resource_gry1a"), SubResource("Resource_6b6qx")]
[connection signal="area_entered" from="PlayerDetection" to="PlayerDetection" method="_on_area_entered"]
[connection signal="area_exited" from="PlayerDetection" to="PlayerDetection" method="_on_area_exited"]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=42 format=4 uid="uid://dqyfnby0t7gu1"]
[gd_scene load_steps=43 format=4 uid="uid://dqyfnby0t7gu1"]
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_c3v4x"]
[ext_resource type="Resource" uid="uid://cs3ihltcn2166" path="res://Resources/Items/IcicleGun.tres" id="3_6314l"]
@ -32,6 +32,7 @@
[ext_resource type="Resource" uid="uid://dau0s8ob7qnpc" path="res://Resources/Items/IceShotgun.tres" id="22_4gtx8"]
[ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="23_1ajuh"]
[ext_resource type="PackedScene" uid="uid://bjskkeb3ppcs8" path="res://Scenes/Actors/Turret360.tscn" id="24_rff8l"]
[ext_resource type="LabelSettings" uid="uid://buk3e7bbwmnv1" path="res://Resources/Styles/Hud_Text_Style.tres" id="27_4rfvg"]
[ext_resource type="Script" uid="uid://bgertv72tq1dt" path="res://Scripts/Components/FSM/NewPlayerStateMachine.cs" id="34_2vu2h"]
[ext_resource type="Script" uid="uid://btwuahxvreivs" path="res://Scripts/Components/FSM/Player/NewInit.cs" id="35_mpb62"]
[ext_resource type="Script" uid="uid://dl50bcl8dx3k8" path="res://Scripts/Components/FSM/TestModule.cs" id="36_4rfvg"]
@ -39,7 +40,7 @@
[sub_resource type="Resource" id="Resource_6wo78"]
script = ExtResource("4_u1i8n")
EggIndex = 0
StartingEquipment = Array[ExtResource("5_u1i8n")]([])
StartingEquipment = []
[sub_resource type="RectangleShape2D" id="RectangleShape2D_rff8l"]
size = Vector2(30, 52.5)
@ -62,7 +63,7 @@ PlayerTemplate = ExtResource("8_c3v4x")
SpawnMarkers = Dictionary[int, NodePath]({
0: NodePath("PlayerStartPosition")
})
StartingEquipment = Array[ExtResource("5_u1i8n")]([ExtResource("3_6314l"), ExtResource("4_yyg8m")])
StartingEquipment = [ExtResource("3_6314l"), ExtResource("4_yyg8m")]
MapStartData = SubResource("Resource_6wo78")
[node name="Tilemaps" type="Node2D" parent="."]
@ -148,10 +149,20 @@ Targets = [NodePath("../../AcidHitboxes/LightBridge2")]
position = Vector2(154, 339)
[node name="Teleporter2" parent="Tilemaps/Actors" node_paths=PackedStringArray("Target") instance=ExtResource("16_qmakk")]
position = Vector2(119, 391)
position = Vector2(144, 392)
IsEnabled = true
Target = NodePath("../Teleporter4")
[node name="Teleporter3" parent="Tilemaps/Actors" node_paths=PackedStringArray("Target") instance=ExtResource("16_qmakk")]
position = Vector2(87, 392)
IsEnabled = true
Target = NodePath("../Teleporter5")
[node name="Teleporter5" parent="Tilemaps/Actors" node_paths=PackedStringArray("Target") instance=ExtResource("16_qmakk")]
position = Vector2(418, 196)
IsEnabled = true
Target = NodePath("../Teleporter3")
[node name="Teleporter4" parent="Tilemaps/Actors" node_paths=PackedStringArray("Target") instance=ExtResource("16_qmakk")]
position = Vector2(183, 391)
IsEnabled = true
@ -167,6 +178,25 @@ LootTable = Array[ExtResource("5_u1i8n")]([ExtResource("19_1ajuh"), ExtResource(
[node name="Turret360" parent="Tilemaps/Actors" instance=ExtResource("24_rff8l")]
position = Vector2(374, 503)
[node name="Label" type="Label" parent="Tilemaps/Actors"]
z_index = 1
offset_left = 142.0
offset_top = 400.0
offset_right = 189.0
offset_bottom = 423.0
text = "Teleportation
Test"
label_settings = ExtResource("27_4rfvg")
[node name="Label2" type="Label" parent="Tilemaps/Actors"]
z_index = 1
offset_left = 79.0
offset_top = 402.0
offset_right = 126.0
offset_bottom = 425.0
text = "Pools"
label_settings = ExtResource("27_4rfvg")
[node name="CameraController" type="Camera2D" parent="."]
process_mode = 1
script = ExtResource("9_dj0ui")

View file

@ -177,6 +177,7 @@ RelativeTargetPosition = Vector2(0, -64)
MovementTime = 1.0
EaseType = 2
TransitionType = 0
GTweenEasing = 0
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_s2o7m"]
@ -214,7 +215,7 @@ SpawnMarkers = Dictionary[int, NodePath]({
2: NodePath("Factory Tilemaps/LevelProps/BossDebugTeleporterDestination"),
255: NodePath("Factory Tilemaps/Debug Room/DebugRoomStartPosition")
})
StartingEquipment = Array[ExtResource("6_8tdlb")]([ExtResource("4_swym2"), ExtResource("5_nqier")])
StartingEquipment = [ExtResource("4_swym2"), ExtResource("5_nqier")]
MapStartData = SubResource("Resource_6sau4")
metadata/_edit_lock_ = true
@ -984,7 +985,7 @@ position = Vector2(-2000, -736)
[node name="ControlPad8" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Targets") instance=ExtResource("12_hfkf1")]
position = Vector2(-2027, -735)
Targets = [NodePath("../HorizontalForceField")]
Requirements = Array[ExtResource("6_8tdlb")]([ExtResource("84_ma1ta")])
Requirements = [ExtResource("84_ma1ta")]
[node name="IcicleRepeater2" parent="Factory Tilemaps/LevelProps" instance=ExtResource("32_xof4a")]
position = Vector2(-923, 69)

View file

@ -1,5 +1,10 @@
using System.Threading.Tasks;
using System.Threading;
using System.Threading.Tasks;
using Godot;
using GTweens.Builders;
using GTweens.Easings;
using GTweens.Tweens;
using GTweensGodot.Extensions;
namespace Cirno.Scripts.Activables;
@ -18,7 +23,9 @@ public partial class PlayerMover : ChainActivable
public Tween.EaseType EaseType = Tween.EaseType.InOut;
[Export]
public Tween.TransitionType TransitionType = Tween.TransitionType.Linear;
public Tween.TransitionType TransitionType { get; private set; } = Tween.TransitionType.Linear;
[Export] public GTweens.Easings.Easing GTweenEasing { get; private set; } = Easing.Linear;
public override void _Ready()
{
@ -38,14 +45,25 @@ public partial class PlayerMover : ChainActivable
{
//_gameManager.Player.RequestMovementDisable(true);
_gameManager.Player.SetState(PlayerState.Cutscene);
Tween tween = GetTree().CreateTween();
tween.SetEase(EaseType);
tween.SetTrans(TransitionType);
tween.TweenProperty(_gameManager.Player, "global_position", _gameManager.Player.GlobalPosition + RelativeTargetPosition, MovementTime);
// Wait for the tween to finish
await ToSignal(tween, "finished");
var gtween = GTweenSequenceBuilder.New()
.Append(_gameManager.Player.MainObject.TweenGlobalPosition(
_gameManager.Player.MainObject.GlobalPosition + RelativeTargetPosition, MovementTime)
.SetEasing(GTweenEasing)
//.
)
.Build();
await gtween.PlayAsync(CancellationToken.None);
// Tween tween = GetTree().CreateTween();
// tween.SetEase(EaseType);
// tween.SetTrans(TransitionType);
// tween.TweenProperty(_gameManager.Player, "global_position", _gameManager.Player.GlobalPosition + RelativeTargetPosition, MovementTime);
//
// // Wait for the tween to finish
// await ToSignal(tween, "finished");
//_gameManager.Player.RequestMovementDisable(false);
_gameManager.Player.SetState(PlayerState.Cutscene);

View file

@ -1,5 +1,9 @@
using System.Threading.Tasks;
using System.Threading;
using System.Threading.Tasks;
using Godot;
using GTweens.Builders;
using GTweens.Easings;
using GTweensGodot.Extensions;
namespace Cirno.Scripts.Resources.Events;
@ -18,6 +22,8 @@ public partial class MovePlayerEvent : EventResource
[Export]
public Tween.TransitionType TransitionType = Tween.TransitionType.Linear;
[Export] public GTweens.Easings.Easing GTweenEasing { get; private set; } = Easing.Linear;
private bool _isComplete = false;
private GameManager _gameManager;
@ -38,13 +44,23 @@ public partial class MovePlayerEvent : EventResource
GameManager.Instance.Player.SetState(PlayerState.Cutscene);
//_gameManager.Player.RequestMovementDisable(true);
Tween tween = _gameManager.GetTree().CreateTween();
tween.SetEase(EaseType);
tween.SetTrans(TransitionType);
tween.TweenProperty(_gameManager.Player, "global_position", _gameManager.Player.GlobalPosition + RelativeTargetPosition, MovementTime);
// Wait for the tween to finish
await ToSignal(tween, "finished");
var gtween = GTweenSequenceBuilder.New()
.Append(_gameManager.Player.MainObject.TweenGlobalPosition(
_gameManager.Player.MainObject.GlobalPosition + RelativeTargetPosition, MovementTime)
.SetEasing(GTweenEasing)
//.
)
.Build();
await gtween.PlayAsync(CancellationToken.None);
// Tween tween = _gameManager.GetTree().CreateTween();
// tween.SetEase(EaseType);
// tween.SetTrans(TransitionType);
// tween.TweenProperty(_gameManager.Player, "global_position", _gameManager.Player.GlobalPosition + RelativeTargetPosition, MovementTime);
//
// // Wait for the tween to finish
// await ToSignal(tween, "finished");
GameManager.Instance.Player.SetState(PlayerState.Active);
//_gameManager.Player.RequestMovementDisable(false);