コード例 #1
0
ファイル: Engine.cs プロジェクト: Ballwinkle/Flux
 public LoginCompletedEventArgs Login(string username, string password)
 {
     if (isLoggedIn)
         return new LoginCompletedEventArgs("Already logged in");
     uint pID = IntGen.GetNewGUID();
     AuthRequest authRequest = new AuthRequest();
     authRequest.Username = username;
     authRequest.Password = password;
     GASClient.GAS.SendPacket(authRequest.Write(), pID);
     GASClient.GAS.Recieve(pID);
     if (!GASClient.GAS.RecievedPacketsContains(pID))
         return new LoginCompletedEventArgs("Server timed out");
     IPacket ipacket = BasePacket.Read(GASClient.GAS.RecievedPacketsGet(pID));
     if (ipacket.GetPacketType() != PacketTypeEnum.LoginResponse)
         return new LoginCompletedEventArgs("Incorrect server response");
     AuthResponse authResponse = (AuthResponse)ipacket;
     Log.Debug(authResponse.ResponseType.ToString());
     if (authResponse.ResponseType == LoginResponseTypeEnum.LoginValidated)
     {
         this.isLoggedIn = true;
         this.FluxID = authResponse.FluxID;
         return new LoginCompletedEventArgs(true);
     }
     if (authResponse.ResponseType == LoginResponseTypeEnum.LoginInvalid)
         return new LoginCompletedEventArgs("Your login doesn't seem to be valid.");
     if (authResponse.ResponseType == LoginResponseTypeEnum.ServerNA)
         return new LoginCompletedEventArgs("The server is set to maintence mode.");
     if (authResponse.ResponseType == LoginResponseTypeEnum.UserBanned)
         return new LoginCompletedEventArgs("You are banned.");
     return new LoginCompletedEventArgs("Unknown Error"); //Why is this even called, there is no other possible enum option
 }