Optimize UI, add easily accessible restart code, fix bug in network manager RaiseEvent

This commit is contained in:
John Gross
2017-07-16 10:14:04 -07:00
parent b814d1210b
commit e9b432288e
35 changed files with 441 additions and 110 deletions

View File

@@ -41,8 +41,10 @@ namespace Torch.Server
{
_server = (TorchBase)server;
_multiplayer = (MultiplayerManager)server.Multiplayer;
ChatItems.Items.Clear();
DataContext = _multiplayer;
_multiplayer.ChatHistory.CollectionChanged += ChatHistory_CollectionChanged;
if (_multiplayer.ChatHistory is INotifyCollectionChanged ncc)
ncc.CollectionChanged += ChatHistory_CollectionChanged;
}
private void ChatHistory_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
@@ -74,22 +76,26 @@ namespace Torch.Server
return;
var commands = _server.Commands;
string response = null;
if (commands.IsCommand(text))
{
_multiplayer.ChatHistory.Add(new ChatMessage(DateTime.Now, 0, "Server", text));
_server.InvokeBlocking(() =>
_server.Invoke(() =>
{
response = commands.HandleCommandFromServer(text);
var response = commands.HandleCommandFromServer(text);
Dispatcher.BeginInvoke(() => OnMessageEntered_Callback(response));
});
}
else
{
_server.Multiplayer.SendMessage(text);
}
Message.Text = "";
}
private void OnMessageEntered_Callback(string response)
{
if (!string.IsNullOrEmpty(response))
_multiplayer.ChatHistory.Add(new ChatMessage(DateTime.Now, 0, "Server", response));
Message.Text = "";
}
}
}