37 lines
No EOL
1 KiB
C#
37 lines
No EOL
1 KiB
C#
using System;
|
|
using System.Collections.Concurrent;
|
|
using WingsEmu.Packets.Enums;
|
|
|
|
namespace WingsEmu.Game.Skills;
|
|
|
|
public class SkillCooldownComponent : ISkillCooldownComponent
|
|
{
|
|
public SkillCooldownComponent()
|
|
{
|
|
SkillCooldowns = new ConcurrentQueue<(DateTime time, short castId)>();
|
|
MatesSkillCooldowns = new ConcurrentQueue<(DateTime time, short castId, MateType mateType)>();
|
|
}
|
|
|
|
public ConcurrentQueue<(DateTime time, short castId)> SkillCooldowns { get; }
|
|
public ConcurrentQueue<(DateTime time, short castId, MateType mateType)> MatesSkillCooldowns { get; }
|
|
|
|
public void AddSkillCooldown(DateTime time, short castId)
|
|
{
|
|
SkillCooldowns.Enqueue((time, castId));
|
|
}
|
|
|
|
public void ClearSkillCooldowns()
|
|
{
|
|
SkillCooldowns.Clear();
|
|
}
|
|
|
|
public void AddMateSkillCooldown(DateTime time, short castId, MateType mateType)
|
|
{
|
|
MatesSkillCooldowns.Enqueue((time, castId, mateType));
|
|
}
|
|
|
|
public void ClearMateSkillCooldowns()
|
|
{
|
|
MatesSkillCooldowns.Clear();
|
|
}
|
|
} |