Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 4
0
    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;
    }