32 lines
703 B
C#
32 lines
703 B
C#
using Godot;
|
|
using System;
|
|
using Movementtests.interfaces;
|
|
|
|
[GlobalClass]
|
|
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;
|
|
}
|
|
}
|