using Godot; using System; using Movementtests.interfaces; [GlobalClass, Icon("res://assets/ui/IconGodotNode/node_3D/icon_target.png")] public partial class FixedDashthroughTarget : AnimatableBody3D, ITargetable, IDisableable { public Vector3 GetTargetGlobalPosition() { return GlobalPosition; } private uint _defaultCollisionMask; public override void _Ready() { _defaultCollisionMask = CollisionMask; } public bool IsDisabled { get; set; } public float DisableDuration { get; set; } = 0.1f; public void Disable() { _defaultCollisionMask = 0; GetTree().CreateTimer(DisableDuration).Timeout += Enable; } public void Enable() { _defaultCollisionMask = CollisionMask; } }