mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-07 12:25:55 +00:00
Fix tween movement
This commit is contained in:
parent
2205f9db91
commit
3019bbb88e
6 changed files with 90 additions and 24 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue