private void UpdateClient(RemoteClient remoteClient, T data) { var found = false; foreach (var entry in Swarm) { if (entry.Key.Equals(remoteClient)) { entry.Key.State = remoteClient.State; Swarm.TryUpdate(entry.Key, data, entry.Value); ClientChanged?.Invoke(remoteClient, entry.Value); found = true; } if (DateTime.UtcNow.Subtract(entry.Key.LastMessage.Sent) > _coordinator.ClientExpiryTime) { T removed; if (Swarm.TryRemove(entry.Key, out removed)) { ClientExpired?.Invoke(remoteClient, removed); } } } if (!found) { Swarm.TryAdd(remoteClient, data); ClientAdded?.Invoke(remoteClient, data); } ClientsUpdated?.Invoke(); }
private void SetClient(GameClient client) { Game = client; AI = null; MiningAI = null; Stop(); if (client != null) { AI = new BattleAI(Game); MiningAI = new MiningAI(Game); KeyLogSender = new KeyLogSender(Game); MiningAI.LogMessage += PrintLogMessage; client.LogMessage += PrintLogMessage; client.ConnectionOpened += Client_ConnectionOpened; client.ConnectionFailed += Client_ConnectionFailed; client.ConnectionClosed += Client_ConnectionClosed; client.WebSuccessfullyLoggedIn += Client_WebSuccessfullyLoggedIn; client.TeleportationOccuring += Client_TeleportationOccuring; client.BattleMessage += Client_BattleMessage; client.LoggingError += Client_LoggingError; client.SystemMessage += Client_SystemMessage; client.SmartFoxApiOk += Client_SmartFoxApiOk; } ClientChanged?.Invoke(); }
/// <summary> /// /// </summary> protected void OnClientChanged() { if (!_inupdate) { RebuildClient(); if (ClientChanged != null) { ClientChanged.Invoke(this, new EventArgs()); } } }
public void SetClient(GameClient client) { Game = client; AI = null; Stop(); if (client != null) { AI = new BattleAI(client); client.ConnectionOpened += Client_ConnectionOpened; client.ConnectionFailed += Client_ConnectionFailed; client.ConnectionClosed += Client_ConnectionClosed; client.BattleMessage += Client_BattleMessage; client.SystemMessage += Client_SystemMessage; client.DialogOpened += Client_DialogOpened; } ClientChanged?.Invoke(); }
/// <summary> /// /// </summary> /// <param name="aceClient"></param> public void AddClients(AccordionControlElement aceClient) { // Lese aus der Datenbank alle Mandanten aus this.context = new Database.MenuDataContext(this.sqlConnection); var clientQuery = from client in context.tsysClient orderby client.SortOrder select client; // Falls keine Mandanten in der Datenbank hinterlegt sind, ist nichts zu tun if (clientQuery == null || clientQuery.Count() == 0) { return; } foreach (Database.tsysClient client in clientQuery) { AccordionControlElement clientItem = new AccordionControlElement() { Text = client.Name, Style = ElementStyle.Item }; clientItem.ImageOptions.Image = Converter.GetImageFromBinary(client.Image); clientItem.Click += Client_Click; if (this.TestConnection(client)) { this.clients.Add(clientItem, new Client(client.PKClient, new SqlConnection(GetSqlConnectionStringBuilder(client).ConnectionString), client.Name)); } else { // Falls Verbindung zur Datenbank nicht möglich ist, dann Item auf enabled = false setzen. clientItem.Enabled = false; clientItem.Text = client.Name + " (No connection to database)"; } aceClient.Elements.Add(clientItem); } if (this.clients.Count() > 0) { Client client = clients.ToArray()[0].Value as Client; this.AddMenu(client); ClientChanged?.Invoke(client); } }
protected override void HandleRefreshPacket(ClientPacket freshPacket) { var client = Clients.FirstOrDefault(x => x.Id == freshPacket.Id) as CClient; if (client == null) { return; } client.Refresh(); if (client.Name != freshPacket.Name) { client.Name = freshPacket.Name; RunOnUiThread(delegate { ClientChanged?.Invoke(client); }); } }
private void SetClient(GameClient client) { Game = client; AI = null; MiningAI = null; Stop(); if (client != null) { Game.Timer = DateTime.Now; AI = new BattleAI(Game); MiningAI = new MiningAI(Game); client.LogMessage += PrintLogMessage; client.Connected += Game_Connected; client.Disconnected += Game_Disconnected; client.TeleportationOccuring += client_TeleportationOccuring; client.BattleMessage += Client_BattleMessage; client.LoggingError += Client_LoggingError; client.SystemMessage += Client_SystemMessage; } ClientChanged?.Invoke(); }
public void SetClient(GameClient client) { Game = client; AI = null; Stop(); if (client != null) { AI = new BattleAI(client); client.ConnectionOpened += Client_ConnectionOpened; client.ConnectionFailed += Client_ConnectionFailed; client.ConnectionClosed += Client_ConnectionClosed; client.BattleMessage += Client_BattleMessage; client.SystemMessage += Client_SystemMessage; client.ServerCommandException += Client_ServerCommandException; client.DialogOpened += Client_DialogOpened; client.TeleportationOccuring += Client_TeleportationOccuring; client.LogMessage += LogMessage; client.MoveToBattleWithNpc += Client_MoveToBattleWithNpc; } ClientChanged?.Invoke(); }
public void UpdateClient() => ClientChanged?.Invoke();