internal static void Yes() { while (true) { TradeACC.Prints(); TradeACC.DrawingItems(); int MaxLength = 0; if (TradeACC.Vendor.Inventory.Count >= Character.inventory.Count) { MaxLength = TradeACC.Vendor.Inventory.Count; } else { MaxLength = Character.inventory.Count; // << unlikely } EOA.WriteAt("[Enter] Trade Item", 0, MaxLength + 4); EOA.WriteAt("[Arrow Keys] Select Items", 0, MaxLength + 5); EOA.WriteAt("[X] Exit Menu", 0, MaxLength + 6); bool exit = false; switch (Console.ReadKey().Key) { case ConsoleKey.Enter: TradeACC.Trade(); break; case ConsoleKey.UpArrow: break; case ConsoleKey.DownArrow: TradeACC.Down(); break; case ConsoleKey.LeftArrow: case ConsoleKey.RightArrow: TradeACC.LeftAndRight(); break; case ConsoleKey.X: exit = true; break; } Console.CursorVisible = true; if (exit || ((!TradeACC.Vendor.Inventory.Any()) && (!Character.inventory.Any()))) { break; } Console.CursorVisible = false; } }
public static void With(NPCs.Trader Vendor) { TradeACC.Vendor = Vendor; Console.Clear(); Console.WriteLine($"[{TradeACC.Vendor.Name.ToUpper()}]: 'Ello there, would ya like to trade with me?"); Console.Write("[Y] Yes\n[N] No\n> "); switch (Console.ReadKey().Key) { // TEMP: ─ │ ┬ ┼ case ConsoleKey.Y: TradeACC.Yes(); return; case ConsoleKey.N: return; default: With(Vendor); return; } }