Exemple #1
0
        public GuestPass()
        {
            myServerConnection    = new UDPClient();
            base.HandleDestroyed += myServerConnection.OnExit;
            myServerConnection.AssignProcessor(delegate(Packet P) {
                FileDeletePacket myPacket = (FileDeletePacket)P;
                File.Delete("./Game/" + myPacket.myEntry.Location.Remove(0, 2));
            }, typeof(FileDeletePacket));
            myServerConnection.AssignProcessor(delegate(Packet P)
            {
                Action myAction = new Action(FailedToLogin);
                Status.Invoke(myAction);
            }, typeof(LoginFailedPacket));



            myServerConnection.AssignProcessor(delegate(Packet P) {
                FileUpdatePacket myPacket = (FileUpdatePacket)P;
                Action myAction2;
                Action <int> myAction3 = new Action <int>(setTotal);
                Status.Invoke(myAction3, myPacket.TotalFiles);
                if (myPacket.TotalFiles == 0)
                {
                    myAction2 = new Action(Finish);
                    return;
                }
                else
                {
                    myAction2 = new Action(incFinish);
                }
                String Data = Path.Combine("Game", myPacket.myEntry.GetDirectoryStripped());
                Directory.CreateDirectory(Data.Remove(Data.LastIndexOf(Path.DirectorySeparatorChar)));
                File.WriteAllBytes(Data, myPacket.myBytes);
                Status.Invoke(myAction2);
                var myNextPacket      = new GetNextFilePacket();
                myNextPacket.Username = Username;
                myServerConnection.Send(myNextPacket, Lidgren.Network.NetDeliveryMethod.ReliableOrdered);
            }, typeof(FileUpdatePacket));

            InitializeComponent();
        }