Merge branch 'master' of manuel-voegele.de:inf3

This commit is contained in:
2014-04-16 14:46:43 +02:00
4 changed files with 49 additions and 19 deletions

View File

@@ -49,15 +49,15 @@ namespace WorldOfPeacecraft
public const string MessPlayers = "players";
public const string MessDragon = "dragon";
public const string MessMapcell = "cell";
private Queue<string> Buffer = new Queue<string> ();
private AutoResetEvent BufferFilledEvent = new AutoResetEvent (false);
private Buffer MonsterBuffer;
private Thread ParserThread;
private LinkedList<string> Message;
private Regex LastLineRegex;
private Backend backend;
public Parser ()
public Parser (Buffer b)
{
MonsterBuffer = b;
ParserThread = new Thread (new ThreadStart (this.RunParser));
ParserThread.Start();
Message = new LinkedList<string> ();
@@ -65,11 +65,11 @@ namespace WorldOfPeacecraft
}
private void RunParser ()
{
{/*
while (true) {
bool waitRequired = false;
lock (Buffer) {
if (Buffer.Count == 0) {
lock (MonsterBuffer) {
if (MonsterBuffer.Count == 0) {
waitRequired = true;
BufferFilledEvent.Reset ();
}
@@ -83,9 +83,9 @@ namespace WorldOfPeacecraft
if (IsCompletePackage ()) {
Parse ();
}
}
}*/
}
public Player getDummyPlayer()
{
return DummyPlayer;
@@ -445,13 +445,7 @@ namespace WorldOfPeacecraft
ParserThread.Abort ();
}
public void AddToBuffer (string s)
{
lock (Buffer) {
Buffer.Enqueue (s);
BufferFilledEvent.Set ();
}
}
private class Block
{