2025-05-13 19:22:01 +08:00

41 lines
889 B
C#

using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[GlobalClass]
[ScriptPath("res://Scripts/Actions/WanderAround.cs")]
public partial class WanderAround : IBehaviour
{
[Export(PropertyHint.None, "")]
private float radius = 70f;
[Export(PropertyHint.None, "")]
private float speed = 0.8f;
[Export(PropertyHint.None, "")]
private float frequency = 120f;
private float cd;
private const int tries = 5;
public override void Do()
{
if (!TextSystem.instance.Visible && base.parent.moving == null)
{
if (cd > 0f)
{
cd -= Main.deltaTime;
return;
}
Vector2 target = base.parent.startPos + new Vector2(Mathf.Lerp(-1f, 1f, GD.Randf()), Mathf.Lerp(-1f, 1f, GD.Randf())) * radius;
base.parent.DoAutoMove(target, speed);
base.parent.moving.dontTP = true;
cd = frequency;
}
}
}