Beispiel #1
0
 public GameNetwork(Context context)
 {
     this.context = context;
     this.zoneManager = context.ZoneManager;
     this.lastState = WorldConnection.WorldConnectionState.Disconnected;
     this.connection = new WorldConnection(context.Protocol);
 }
Beispiel #2
0
        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>();
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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();
                }
            }
        }