This commit is contained in:
Lendaia Mirai
2025-10-16 14:48:13 +02:00
parent b8f1853b1a
commit 793b379c48
57 changed files with 5491 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
namespace OE.ALGA.Engine
{
public interface IBillentyuLenyomasKezelo
{
void BillentyuLenyomas(ConsoleKey billentyu);
}
public class BillentyuzetKezelo : IOrajelFogado
{
private readonly List<IBillentyuLenyomasKezelo> billentyuLenyomasKezelok = new List<IBillentyuLenyomasKezelo>();
public void BillentyuLenyomasKezeloFelvetele(IBillentyuLenyomasKezelo kezelo)
{
billentyuLenyomasKezelok.Add(kezelo);
}
public void BillentyuLenyomasKezeloEltavolitasa(IBillentyuLenyomasKezelo kezelo)
{
billentyuLenyomasKezelok.Remove(kezelo);
}
private readonly Dictionary<ConsoleKey, Action> billentyuAkciok = new Dictionary<ConsoleKey, Action>();
public void BillentyuAkcioFelvetele(ConsoleKey billentyu, Action akcio)
{
billentyuAkciok.Add(billentyu, akcio);
}
public void Orajel(int ido)
{
while (Console.KeyAvailable)
{
ConsoleKey billentyu = Console.ReadKey(true).Key;
foreach (IBillentyuLenyomasKezelo kezelo in billentyuLenyomasKezelok)
{
kezelo.BillentyuLenyomas(billentyu);
}
if (billentyuAkciok.TryGetValue(billentyu, out Action? value))
value();
}
}
}
}