32 lines
778 B
C#
32 lines
778 B
C#
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;
|
|
}
|
|
}
|