@@ -338,7 +338,7 @@ public void StartListening(string ChatRoom) {
338338
339339 while ( true ) {
340340 try {
341- ChatContent = File . ReadLines ( @"chats\" + ChatRoom + ".txt" ) . ToArray ( ) ;
341+ ChatContent = File . ReadLines ( ChatRoom + ".txt" ) . ToArray ( ) ;
342342 } catch {
343343 Console . Write ( "" ) ;
344344 }
@@ -350,15 +350,25 @@ public void StartListening(string ChatRoom) {
350350 public class TextListener {
351351 private string TypedText ;
352352 private int Pointer = 0 ;
353- private bool EndProgram = false ;
353+ private bool EnterPressed = false ;
354+ private bool ESCPressed = false ;
354355 private bool isListening = false ;
355356 private Thread listeningThread ;
356357 private readonly object lockObject = new object ( ) ;
357358
358- public void SetEndProgram ( bool var ) {
359+ public void SetEnterPressed ( bool var ) {
359360 Monitor . Enter ( lockObject ) ;
360361 try {
361- EndProgram = var ;
362+ EnterPressed = var ;
363+ } finally {
364+ Monitor . Exit ( lockObject ) ;
365+ }
366+ }
367+
368+ public void SetESCPressed ( bool var ) {
369+ Monitor . Enter ( lockObject ) ;
370+ try {
371+ ESCPressed = var ;
362372 } finally {
363373 Monitor . Exit ( lockObject ) ;
364374 }
@@ -382,10 +392,19 @@ public void SetPointer(int var) {
382392 }
383393 }
384394
385- public bool GetEndProgram ( ) {
395+ public bool GetEnterPressed ( ) {
396+ Monitor . Enter ( lockObject ) ;
397+ try {
398+ return EnterPressed ;
399+ } finally {
400+ Monitor . Exit ( lockObject ) ;
401+ }
402+ }
403+
404+ public bool GetESCPressed ( ) {
386405 Monitor . Enter ( lockObject ) ;
387406 try {
388- return EndProgram ;
407+ return ESCPressed ;
389408 } finally {
390409 Monitor . Exit ( lockObject ) ;
391410 }
@@ -417,7 +436,9 @@ public void StartListening() {
417436 if ( Console . KeyAvailable ) {
418437 var key = Console . ReadKey ( true ) ;
419438 if ( key . Key == ConsoleKey . Enter ) {
420- SetEndProgram ( true ) ;
439+ SetEnterPressed ( true ) ;
440+ } else if ( key . Key == ConsoleKey . Escape ) {
441+ SetESCPressed ( true ) ;
421442 } else if ( key . Key == ConsoleKey . Backspace && ! string . IsNullOrEmpty ( GetTypedText ( ) ) ) {
422443 Monitor . Enter ( lockObject ) ;
423444 try {
0 commit comments