32 lines
766 B
C#
32 lines
766 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, IStunnable
|
|
{
|
|
public Vector3 GetTargetGlobalPosition()
|
|
{
|
|
return GlobalPosition;
|
|
}
|
|
|
|
private uint _defaultCollisionMask;
|
|
public override void _Ready()
|
|
{
|
|
_defaultCollisionMask = CollisionMask;
|
|
}
|
|
|
|
public bool IsStunned { get; set; }
|
|
public float StunDuration { get; set; } = 0.1f;
|
|
public void Stun()
|
|
{
|
|
_defaultCollisionMask = 0;
|
|
GetTree().CreateTimer(StunDuration).Timeout += Unstun;
|
|
}
|
|
|
|
public void Unstun()
|
|
{
|
|
_defaultCollisionMask = CollisionMask;
|
|
}
|
|
}
|