Erste Gui Version. Es wird lediglich die Map gezeichnet. Das Backend ist angeschlossen
This commit is contained in:
@@ -49,47 +49,31 @@ namespace WorldOfPeacecraft
|
||||
public const string MessPlayers = "players";
|
||||
public const string MessDragon = "dragon";
|
||||
public const string MessMapcell = "cell";
|
||||
private Buffer MonsterBuffer;
|
||||
private Buffer InputBuffer;
|
||||
private Thread ParserThread;
|
||||
private LinkedList<string> Message;
|
||||
private Regex LastLineRegex;
|
||||
private Backend backend;
|
||||
private Backend Backend;
|
||||
|
||||
public Parser (Buffer b)
|
||||
public Parser (Backend backend, Buffer buffer)
|
||||
{
|
||||
MonsterBuffer = b;
|
||||
ParserThread = new Thread (new ThreadStart (this.RunParser));
|
||||
ParserThread.Start();
|
||||
InputBuffer = buffer;
|
||||
Backend = backend;
|
||||
Message = new LinkedList<string> ();
|
||||
LastLineRegex = new Regex ("^end:[0-9]+$");
|
||||
ParserThread = new Thread (new ThreadStart (this.RunParser));
|
||||
ParserThread.Start();
|
||||
}
|
||||
|
||||
private void RunParser ()
|
||||
{/*
|
||||
{
|
||||
while (true) {
|
||||
bool waitRequired = false;
|
||||
lock (MonsterBuffer) {
|
||||
if (MonsterBuffer.Count == 0) {
|
||||
waitRequired = true;
|
||||
BufferFilledEvent.Reset ();
|
||||
}
|
||||
}
|
||||
if (waitRequired) {
|
||||
BufferFilledEvent.WaitOne ();
|
||||
}
|
||||
lock (Buffer) {
|
||||
Message.AddLast (Buffer.Dequeue ());
|
||||
}
|
||||
Message.AddLast (InputBuffer.NextLine ());
|
||||
if (IsCompletePackage ()) {
|
||||
Parse ();
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
public Player getDummyPlayer()
|
||||
{
|
||||
return DummyPlayer;
|
||||
}
|
||||
|
||||
private void Parse ()
|
||||
{
|
||||
@@ -188,11 +172,11 @@ namespace WorldOfPeacecraft
|
||||
switch (block.GetName ()) {
|
||||
case MessPlayer:
|
||||
Player player = MapPlayer (block);
|
||||
backend.removePlayer (player);
|
||||
Backend.removePlayer (player);
|
||||
break;
|
||||
case MessDragon:
|
||||
Dragon dragon = MapDragon (block);
|
||||
backend.removeDragon (dragon);
|
||||
Backend.removeDragon (dragon);
|
||||
break;
|
||||
default:
|
||||
ThrowUnknownBlockException(deleteBlock, block);
|
||||
@@ -215,7 +199,8 @@ namespace WorldOfPeacecraft
|
||||
foreach (Block cell in cellsBlock.GetBlocks()) {
|
||||
map.SetTile(MapMapcell(cell));
|
||||
}
|
||||
backend.SetMap(map);
|
||||
Backend.SetMap(map);
|
||||
Backend.RefreshGui();
|
||||
}
|
||||
|
||||
private void ProcessMessage (Block mesBlock)
|
||||
@@ -286,7 +271,6 @@ namespace WorldOfPeacecraft
|
||||
break;
|
||||
default:
|
||||
throw new ParsingException("Invalid type"); // TODO Better message
|
||||
break;
|
||||
}
|
||||
bool accepted = challengeBlock.GetBoolValue("accepted");
|
||||
Challenge c = new Challenge(id, type, accepted);
|
||||
@@ -295,12 +279,12 @@ namespace WorldOfPeacecraft
|
||||
|
||||
private void ProcessPlayer (Block playerBlock)
|
||||
{
|
||||
backend.SetPlayer(MapPlayer(playerBlock));
|
||||
Backend.SetPlayer(MapPlayer(playerBlock));
|
||||
}
|
||||
|
||||
private void ProcessMapcell (Block mapcellBlock)
|
||||
{
|
||||
backend.getMapObject().SetTile(MapMapcell(mapcellBlock));
|
||||
Backend.getMapObject().SetTile(MapMapcell(mapcellBlock));
|
||||
}
|
||||
|
||||
private void ProcessYourid (Block yourIdBlock)
|
||||
@@ -329,15 +313,15 @@ namespace WorldOfPeacecraft
|
||||
|
||||
private void ProcessEntities (Block entitiesBlock)
|
||||
{
|
||||
backend.clearDragons ();
|
||||
backend.clearPlayers ();
|
||||
Backend.clearDragons ();
|
||||
Backend.clearPlayers ();
|
||||
foreach (Block entityBlock in entitiesBlock.GetBlocks ()) {
|
||||
switch (entityBlock.GetName()) {
|
||||
case MessPlayer:
|
||||
backend.SetPlayer(MapPlayer(entityBlock));
|
||||
Backend.SetPlayer(MapPlayer(entityBlock));
|
||||
break;
|
||||
case MessDragon:
|
||||
backend.SetDragon(MapDragon(entityBlock));
|
||||
Backend.SetDragon(MapDragon(entityBlock));
|
||||
break;
|
||||
default:
|
||||
ThrowUnknownBlockException(entitiesBlock, entityBlock);
|
||||
@@ -348,15 +332,15 @@ namespace WorldOfPeacecraft
|
||||
|
||||
private void ProcessPlayers (Block playersBlock)
|
||||
{
|
||||
backend.clearPlayers ();
|
||||
Backend.clearPlayers ();
|
||||
foreach (Block playerBlock in playersBlock.GetBlocks ()) {
|
||||
backend.SetPlayer(MapPlayer(playerBlock));
|
||||
Backend.SetPlayer(MapPlayer(playerBlock));
|
||||
}
|
||||
}
|
||||
|
||||
private void ProcessDragon (Block dragonBlock)
|
||||
{
|
||||
backend.SetDragon(MapDragon(dragonBlock));
|
||||
Backend.SetDragon(MapDragon(dragonBlock));
|
||||
}
|
||||
|
||||
private Dragon MapDragon (Block dragonBlock)
|
||||
|
||||
Reference in New Issue
Block a user