Example #1
0
        /// <summary>
        /// Callback to be sent to the network to receive more data
        /// </summary>
        /// <param name="ar"></param>
        private void ReceiveData(IAsyncResult ar)
        {
            //Get them cubes
            Preserved_State state      = (Preserved_State)ar.AsyncState;
            string          world_json = state.sb.ToString();

            ProcessJsonBlock(world_json);

            //Clear out what was in the last version of the world so it gets a fresh copy
            state.sb.Clear();

            Network.i_want_more_data(ar);
        }
Example #2
0
        /// <summary>
        /// Receive the initial player response
        /// </summary>
        /// <param name="ar"></param>
        private void ReceivePlayer(IAsyncResult ar)
        {
            Preserved_State state = (Preserved_State)ar.AsyncState;

            Console.WriteLine("Welcome " + player_name);

            //Handle the player cube coming in
            string player_json = state.sb.ToString();

            world.AddPlayerCube(player_json);
            GameRunning = true;

            state.GUI_Callback = new AsyncCallback(ReceiveData);
            Network.i_want_more_data(ar);
        }
Example #3
0
        /***************************************CALLBACK DELEGATES*****************************************/
        /// <summary>
        /// Callback for the connection
        /// </summary>
        /// <param name="ar"></param>
        private void ConnectCallback(IAsyncResult ar)
        {
            Preserved_State state = (Preserved_State)ar.AsyncState;

            state.GUI_Callback = new AsyncCallback(ReceivePlayer);

            if (state.socket.Connected)
            {
                //Send the player name
                ServerConnected = true;
                Network.Send(socket, player_name + '\n');
            }
            else
            {
                ServerConnected = false;
                Invoke(new Action(ShowReConnectForm));
            }
        }