void IAuth.Login(Action onComplete, Action onFailure) { SteamLogin(); void SteamLogin() { SteamAuth.Login(PlayFabLogin, onFailure); } void PlayFabLogin() { var authSessionTicket = SteamAuth.CreateAuthSessionTicket(); PlayFabSettings.TitleId = PlayFabAuth.TitleId; try { PlayFabClientAPI.LoginWithSteam( new LoginWithSteamRequest() { CreateAccount = true, InfoRequestParameters = new GetPlayerCombinedInfoRequestParams() { GetUserAccountInfo = true }, SteamTicket = authSessionTicket, TitleId = PlayFabAuth.TitleId }, result => { PlayFabAuth.LoginResult = result; SteamAuth.DestroyAuthSessionTicket(authSessionTicket); onComplete(); }, error => { PlayFabErrorHandler.Process(error); SteamAuth.DestroyAuthSessionTicket(authSessionTicket); onFailure(); }); } catch (Exception exception) { ExceptionHandler.Process(exception); onFailure(); } } }
void IAuth.Logout(Action onComplete, Action onFailure) { PlayFabLogout(); void PlayFabLogout() { PlayFabAuth.Logout(SteamLogout, onFailure); } void SteamLogout() { SteamAuth.Logout(onComplete, onFailure); } }