public UniRx.IObservable <SkillsEnum> CreateUnlockedObservable() { UniRx.IObservable <SkillsEnum> observable = Observable.Never <SkillsEnum>(); for (int i = 0; i < 5; i++) { observable = observable.Merge(GetOrCreateSkillRunner((SkillsEnum)i).UnlockTriggered); } return(observable); }
public override void AlwaysStart() { UniRx.IObservable <PerkUnlockedInfo> observable = Observable.Never <PerkUnlockedInfo>(); foreach (HeroRunner item in Singleton <HeroTeamRunner> .Instance.Companions()) { observable = observable.Merge(item.PerkUnlockTriggered); } observable.TakeWhile((PerkUnlockedInfo _) => this != null).Subscribe(delegate(PerkUnlockedInfo perk) { ShowPerkUnlock(perk.HeroIndex, perk.PerkIndex); }).AddTo(this); }
public void PostInit() { SceneLoader instance = SceneLoader.Instance; UniRx.IObservable <bool> observable = Observable.Return <bool>(value: false); foreach (PlayerGoalRunner playerGoalRunner in PlayerGoalRunners) { UniRx.IObservable <bool> observable2 = from pair in playerGoalRunner.Unlocked.Pairwise() where !pair.Previous && pair.Current select pair into _ select true; observable = observable.Merge(observable2); } observable.Subscribe(delegate(bool trigger) { NewGoalAvailable.Value = trigger; }).AddTo(instance); }
public void LateInitialize() { if (ShouldLoginImmediately) { Login(); ShouldLoginImmediately = false; } if (base.Inited) { Singleton <CloudSyncRunner> .Instance.CloudSync("init_pf"); return; } UniRx.IObservable <bool> first = from should in ConnectivityService.InternetConnectionAvailable.CombineLatest(PlayerData.Instance.LifetimePrestiges, (bool net, int prestiges) => net && string.IsNullOrEmpty(LoggedOnPlayerId.Value) && prestiges > 0) where should select should; UniRx.IObservable <bool> observable = from should in ConnectivityService.InternetConnectionAvailable.CombineLatest(PersistentSingleton <FacebookAPIService> .Instance.IsLoggedToFB, (bool net, bool fb) => net && fb) where should select should; first.Merge(observable).Subscribe(delegate { Login(); }); MainThreadDispatcher.StartCoroutine(QueueRoutine()); (from chunk in PlayerData.Instance.LifetimeChunk select(chunk != 0) ? Observable.Never <bool>() : m_hasCommandsInFlight.AsObservable()).Switch().Subscribe(delegate(bool inFlight) { if (BindingManager.Instance != null) { BindingManager.Instance.SystemPopup.SetActive(inFlight); } }); LoggedOnPlayerId.Subscribe(delegate(string loggedID) { PlayerData.Instance.PFId.Value = loggedID; }); LoggedOnPlayerId.CombineLatest(PlayerData.Instance.DisplayName, (string id, string dn) => dn).Subscribe(delegate(string name) { PlayFabService playFabService = this; GetAccountInfo(delegate(JSONObject json) { string a = json.asJSONObject("AccountInfo").asJSONObject("TitleInfo").asString("DisplayName", () => string.Empty); if (name != string.Empty && a != name) { playFabService.UpdateUserDisplayName(name, null, null); } else if (name == string.Empty && a == string.Empty) { (from fbname in Singleton <FacebookRunner> .Instance.PlayerName.AsObservable().Take(1) where !string.IsNullOrEmpty(fbname) select fbname).Subscribe(delegate(string fbname) { playFabService.UpdateUserDisplayName(fbname, null, null); }); } }, null); }); base.Inited = true; }