Player movement and camera

This commit is contained in:
Marco 2025-06-11 15:28:26 +02:00
commit a324f2e347
43 changed files with 1777 additions and 316 deletions

View file

@ -16,14 +16,14 @@ public partial class NodeMovementPattern : AttackPattern
// [Export] private Tween.TransitionType transitionType = Tween.TransitionType.Linear;
[Export] public GTweens.Easings.Easing EaseType { get; private set; } = Easing.Linear;
public override IPatternMachine MakeMachine(Node2D parent)
public override IPatternMachine MakeMachine(Node parent)
{
return new NodeMovementPatternMachine(this, parent);
}
public class NodeMovementPatternMachine(NodeMovementPattern pattern, Node2D parent) : IPatternMachine
public class NodeMovementPatternMachine(NodeMovementPattern pattern, Node parent) : IPatternMachine
{
public Node2D Parent => parent;
public Node Parent => parent;
private GTween _tween;
private bool isComplete = false;
@ -37,11 +37,12 @@ public partial class NodeMovementPattern : AttackPattern
return;
}
_tween?.Complete();
isComplete = false;
Vector2 targetPosition = (scriptHost?.HomePosition ?? Parent.GlobalPosition) + pattern.relativeTargetPosition;
Vector2 targetPosition = (scriptHost?.HomePosition ?? scriptHost.ParentObject.GlobalPosition) + pattern.relativeTargetPosition;
_tween = GTweenSequenceBuilder.New()
.Append(scriptHost.ParentObject.TweenGlobalPosition(targetPosition, pattern.moveDuration))