public GameNetwork(Context context) { this.context = context; this.zoneManager = context.ZoneManager; this.lastState = WorldConnection.WorldConnectionState.Disconnected; this.connection = new WorldConnection(context.Protocol); }
public Form1() { InitializeComponent(); logger = new Logger("AsteriaClient.log"); Logger.MessageReceived += new LoggerMsgEvent(ToLog); conn = new WorldConnection("127.0.0.1", 5961, protocolVersion); conn.AccountId = 2; conn.StateChanged += new WorldConnection.StateChangeHandler(HandleStateChanged); conn.WorldMessageReceived += new WorldClientMsgEvent(HandleMessageReceived); conn.CharManagementMessageReceived += new WorldClientMsgEvent(HandleCharMngtMessageReceived); fillCharacterList = new FillCharacterListDelegate(FillCharacterList); displayMessage = new DisplayWorldMessageDelegate(DisplayWorldMessage); logMessage = new LogMessageDelegate(ToLog); stateChange = new StateChangedDelegate(HandleStateChanged); conn.ConnectToWorld("admin_testing"); worldEntities = new Dictionary<int, Entity>(); }
private void HandleStateChanged(WorldConnection.WorldConnectionState state) { if (connection.State == WorldConnection.WorldConnectionState.Disconnected) { if (!string.IsNullOrWhiteSpace(connection.DisconnectMessage)) Logger.Output(this, connection.DisconnectMessage); HandleCleanup(); } else if (connection.State == WorldConnection.WorldConnectionState.Connected) { } else if (connection.State == WorldConnection.WorldConnectionState.CharacterManagement) { FillCharacterList(); context.Gui.ShowCharSelect(); if (lastState == WorldConnection.WorldConnectionState.InGame) { HandleCleanup(); context.Gui.ClearCharacterInfo(); } } else if (connection.State == WorldConnection.WorldConnectionState.InGame) { context.Gui.HideCharSelect(); playerCharacter = new Character(connection.WorldClient.OwnCharacter); } lastState = state; }
private void HandleStateChanged(WorldConnection.WorldConnectionState state) { if (this.InvokeRequired) { this.Invoke(stateChange, state); } else { if (conn.State == WorldConnection.WorldConnectionState.Disconnected) { groupCharMngt.Hide(); groupCharSelect.Hide(); groupData.Hide(); groupChat.Hide(); if (conn.DisconnectMessage != null && conn.DisconnectMessage.Length > 0) ToLog(conn.DisconnectMessage); //Close(); } else if (conn.State == WorldConnection.WorldConnectionState.Connected) { groupCharMngt.Show(); groupCharSelect.Show(); groupData.Hide(); groupChat.Hide(); } else if (conn.State == WorldConnection.WorldConnectionState.CharacterManagement) { FillCharacterList(); groupCharMngt.Show(); groupCharSelect.Show(); groupData.Hide(); groupChat.Hide(); } else if (conn.State == WorldConnection.WorldConnectionState.InGame) { groupCharMngt.Hide(); groupCharSelect.Hide(); groupData.Show(); groupChat.Show(); StartGame(); } } }