private void ILogin() { pnCli2Auth_AcctLoginRequest req = new pnCli2Auth_AcctLoginRequest(); req.Read(fStream); if (fAcctGuid == Guid.Empty) { // This is the first time we need the vault connection, // so let's establish it here. if (IConnectToVault()) { fVaultCli.AcctLogin(req.fAccount, req.fHash, req.fChallenge, fChallenge, new pnCallback(new pnVaultAcctLoggedIn(IOnAcctLoggedIn), req.fTransID)); } else { pnAuth2Cli_AcctLoginReply reply = new pnAuth2Cli_AcctLoginReply(); reply.fResult = ENetError.kNetErrInternalError; reply.fTransID = req.fTransID; reply.Send(fStream); } } else { // A special kind of stupid... time to get what you deserve. KickOff(ENetError.kNetErrDisconnected); } }
private void ILoginReply() { pnAuth2Cli_AcctLoginReply reply = new pnAuth2Cli_AcctLoginReply(); reply.Read(fStream); FireCallback(reply.fTransID, new object[] { reply.fResult, reply.fAcctGuid, reply.fDroidKey, null }); }
private void IOnAcctLoggedIn(ENetError result, Guid guid, int perms, pnVaultAvatarInfo[] avatars, object param) { if (result == ENetError.kNetSuccess) { fAcctGuid = guid; fPermissions = (pnAcctPerms)perms; } List<plNetStruct> toSend = new List<plNetStruct>(6); if (avatars != null) { foreach (pnVaultAvatarInfo info in avatars) { pnAuth2Cli_AcctPlayerInfo player = new pnAuth2Cli_AcctPlayerInfo(); player.fExplorer = 1; // HACK--always a "paying customer" player.fModel = info.fModel; player.fPlayerID = info.fPlayerID; player.fPlayerName = info.fPlayerName; player.fTransID = (uint)param; toSend.Add(player); } } pnAuth2Cli_AcctLoginReply reply = new pnAuth2Cli_AcctLoginReply(); reply.fAcctGuid = guid; reply.fBillingType = 1; // HACK--always a "paying customer" reply.fDroidKey = null; // FIXME reply.fResult = result; reply.fTransID = Convert.ToUInt32(param); toSend.Add(reply); // Only acquire this lock once :) lock (fStream) foreach (plNetStruct ns in toSend) ns.Send(fStream); }