private bool verifyPurchaseRestoreWithServiceSuccess(IAPServiceEvents.CheckRestoreReturned evt) { MembershipRightsRefresh data = ((evt.Purchase.rights != null) ? evt.Purchase.rights.Data : default(MembershipRightsRefresh)); Service.Get <EventDispatcher>().DispatchEvent(new CommerceServiceEvents.RestoreVerified(evt.Purchase.success, data)); return(false); }
private void applyMembership(MembershipRightsRefresh data) { CPDataEntityCollection cPDataEntityCollection = Service.Get <CPDataEntityCollection>(); if (cPDataEntityCollection == null || cPDataEntityCollection.LocalPlayerHandle.IsNull) { throw new Exception("Unable to resolve data entity collection"); } if (cPDataEntityCollection.TryGetComponent <MembershipData>(cPDataEntityCollection.LocalPlayerHandle, out var component)) { component.MembershipExpireDate = data.expireDate; component.IsMember = true; component.MembershipType = MembershipType.Member; if (cPDataEntityCollection.TryGetComponent <SubscriptionData>(cPDataEntityCollection.LocalPlayerHandle, out var component2)) { component2.SubscriptionVendor = data.vendor; component2.SubscriptionProductId = data.productId; Service.Get <INetworkServicesManager>().PlayerStateService.GetLocalPlayerData(this); Service.Get <ICPSwrveService>().Action("game.new_member"); return; } throw new MissingReferenceException("No subscription data found for local player"); } throw new MissingReferenceException("No membership data found for local player"); }
public RestoreVerified(bool success, MembershipRightsRefresh data) { Success = success; Data = data; }