public void OnStateChanged(string state) { if (!(state == HandledState) || !(rootStateMachine != null)) { return; } CPDataEntityCollection cPDataEntityCollection = Service.Get <CPDataEntityCollection>(); if (cPDataEntityCollection == null || cPDataEntityCollection.LocalPlayerHandle.IsNull) { throw new Exception("Unable to resolve data entity collection"); } if (cPDataEntityCollection.TryGetComponent <ProfileData>(cPDataEntityCollection.LocalPlayerHandle, out var component)) { MembershipService membershipService = Service.Get <MembershipService>(); string text; if (component.IsFirstTimePlayer && !membershipService.LoginViaMembership && !membershipService.LoginViaRestore) { QuestService questService = Service.Get <QuestService>(); GameStateController gameStateController = Service.Get <GameStateController>(); text = ((questService.ActiveQuest == null || !(questService.ActiveQuest.Id == gameStateController.FTUEConfig.FtueQuestId)) ? FirstTimePlayerEvent : ReturnPlayerEvent); } else { if (membershipService.LoginViaRestore) { SessionManager sessionManager = Service.Get <SessionManager>(); if (sessionManager.HasSession) { sessionManager.ReturnToRestorePurchases(); } Service.Get <ICPSwrveService>().Funnel(Service.Get <MembershipService>().AccountFunnelName, "21", "check_cpremixprofile", "ReturnToSettings"); AccountPopupController componentInParent = GetComponentInParent <AccountPopupController>(); componentInParent.OnClosePopup(); return; } text = ReturnPlayerEvent; } Service.Get <ICPSwrveService>().Funnel(Service.Get <MembershipService>().AccountFunnelName, "21", "check_cpremixprofile", text); rootStateMachine.SendEvent(text); return; } throw new MissingReferenceException("No profile data found for local player"); }
public void OnStateChanged(string state) { if (state == HandledState && rootStateMachine != null) { CPDataEntityCollection cPDataEntityCollection = Service.Get <CPDataEntityCollection>(); if (cPDataEntityCollection == null || cPDataEntityCollection.LocalPlayerHandle.IsNull) { throw new Exception("Unable to resolve data entity collection"); } bool flag = false; if (!cPDataEntityCollection.TryGetComponent <ProfileData>(cPDataEntityCollection.LocalPlayerHandle, out var component) || !cPDataEntityCollection.TryGetComponent <MembershipData>(cPDataEntityCollection.LocalPlayerHandle, out var component2)) { throw new MissingReferenceException("No profile data or membership data found for local player"); } MembershipService membershipService = Service.Get <MembershipService>(); AccountFlowData accountFlowData = membershipService.GetAccountFlowData(); bool flag2 = Service.Get <SessionManager>().LocalUser.RegistrationProfile.AccountStatus == AccountStatus.AwaitingParentalConsent; bool flag3 = component2.MembershipType == MembershipType.Member; string text; if (!membershipService.IsPurchaseFunnelAvailable()) { text = SkipMembershipEvent; } else if (!flag3 && showAllAccess() && !membershipService.LoginViaMembership) { text = ShowAllAccessEvent; } else if (!flag3 && showAllAccessOver() && !membershipService.LoginViaMembership) { text = ShowAllAccessOverEvent; } else if (flag || (membershipService.LoginViaMembership && !flag3 && !flag2) || (component.IsFirstTimePlayer && !component2.IsMember && !accountFlowData.SkipMembership && !flag2)) { accountFlowData.SkipMembership = true; text = ((!component.IsFirstTimePlayer || membershipService.LoginViaMembership) ? ShowMembershipEvent : EndMembershipFlowEvent); } else { text = SkipMembershipEvent; } Service.Get <ICPSwrveService>().Funnel(Service.Get <MembershipService>().AccountFunnelName, "22", "check_showmembership", text); rootStateMachine.SendEvent(text); } }
public void OnStateChanged(string state) { if (!(state == HandledState) || !(rootStateMachine != null)) { return; } MembershipService membershipService = Service.Get <MembershipService>(); if (carrierBillingSupported == null) { initializeCarrierBillingSupported(); } string text = NotSupportedEvent; string prop_name = "skip"; if (carrierBillingSupported.Contains(prop_name)) { Dictionary <string, string> deviceInfo = Service.Get <ICPSwrveService>().GetDeviceInfo(); string value = MembershipService.OverrideSimCountryCode; if (string.IsNullOrEmpty(value)) { deviceInfo.TryGetValue("swrve.sim_operator.iso_country_code", out value); } string value2 = MembershipService.OverrideSimCarrierName; if (string.IsNullOrEmpty(value2)) { deviceInfo.TryGetValue("swrve.sim_operator.name", out value2); } if (!string.IsNullOrEmpty(value) && !string.IsNullOrEmpty(value2) && carrierBillingSupported[prop_name].Contains(value.ToUpper())) { JsonData jsonData = carrierBillingSupported[prop_name][value.ToUpper()]; foreach (object item in (IEnumerable)jsonData) { if (item.ToString().Trim().ToUpper() == value2.Trim().ToUpper()) { text = SupportedEvent; } } } } Service.Get <ICPSwrveService>().Funnel(membershipService.MembershipFunnelName, "02a", "check_carrier_billing_supported", text); rootStateMachine.SendEvent(text); }
public void Start() { membershipService = Service.Get <MembershipService>(); }
public void Start() { rootStateMachine = GetComponent <StateMachine>(); membershipService = Service.Get <MembershipService>(); }