private bool onPurchaseComplete(IglooServiceEvents.DecorationUpdated evt)
        {
            Service.Get <EventDispatcher>().RemoveListener <IglooServiceEvents.DecorationUpdated>(onPurchaseComplete);
            setState(ConfirmationState.Complete);
            hidePurchaseModal();
            PersistentBreadcrumbTypeDefinitionKey type          = null;
            StaticBreadcrumbDefinitionKey         breadcrumbKey = null;
            string id = "";

            if (evt.DecorationId.type == DecorationType.Decoration)
            {
                type          = decorationTypeBreadcrumb;
                id            = evt.DecorationId.definitionId.ToString();
                breadcrumbKey = decorationBreadcrumb;
            }
            else if (evt.DecorationId.type == DecorationType.Structure)
            {
                type          = structureTypeBreadcrumb;
                id            = evt.DecorationId.definitionId.ToString();
                breadcrumbKey = structureBreadcrumb;
            }
            if (notificationBreadcrumbController.GetPersistentBreadcrumbCount(type, id) == 0)
            {
                notificationBreadcrumbController.AddPersistentBreadcrumb(type, id);
            }
            notificationBreadcrumbController.AddBreadcrumb(breadcrumbKey);
            return(false);
        }
Exemplo n.º 2
0
 public override void Init(Texture2DContentKey customizationAssetKey, PersistentBreadcrumbTypeDefinitionKey breadcrumbIdType, int definitionId, bool canDrag)
 {
     SizeIconSelector.SetActive(value: false);
     itemCountPanel.SetActive(value: false);
     base.Init(customizationAssetKey, breadcrumbIdType, definitionId, canDrag);
     CheckBreadcrumb(breadcrumbIdType, definitionId);
 }
Exemplo n.º 3
0
 protected void SetupButton(PersistentBreadcrumbTypeDefinitionKey breadcrumbIdType, int definitionId, bool canDrag)
 {
     CanDrag      = canDrag;
     DefinitionId = definitionId;
     LoadingSpinner.SetActive(value: true);
     IconImage.gameObject.SetActive(value: false);
     breadcrumb.SetBreadcrumbId(breadcrumbIdType, definitionId.ToString());
 }
Exemplo n.º 4
0
 public NoSelectionState(Camera mainCam, OriginalFabricData originalFabricChannelData, OriginalDecalData originalDecalChannelData, PersistentBreadcrumbTypeDefinitionKey templateBreadcrumbType, PersistentBreadcrumbTypeDefinitionKey fabricBreadcrumbType, PersistentBreadcrumbTypeDefinitionKey decalBreadcrumbType)
 {
     this.mainCam = mainCam;
     this.originalFabricChannelData = originalFabricChannelData;
     this.originalDecalChannelData  = originalDecalChannelData;
     this.templateBreadcrumbType    = templateBreadcrumbType;
     this.fabricBreadcrumbType      = fabricBreadcrumbType;
     this.decalBreadcrumbType       = decalBreadcrumbType;
     breadcrumbController           = Service.Get <NotificationBreadcrumbController>();
 }
Exemplo n.º 5
0
 public virtual void Init(Texture2DContentKey customizationAssetKey, PersistentBreadcrumbTypeDefinitionKey breadcrumbIdType, int definitionId, bool canDrag)
 {
     SetupButton(breadcrumbIdType, definitionId, canDrag);
     try
     {
         Content.LoadAsync <Texture2D>(customizationAssetKey.Key, onIconLoaded);
     }
     catch (ArgumentException ex)
     {
         Log.LogException(this, ex);
     }
 }
Exemplo n.º 6
0
        public QuestService(Manifest manifest, PersistentBreadcrumbTypeDefinitionKey breadcrumbType)
        {
            this.breadcrumbType = breadcrumbType;
            dispatcher          = Service.Get <EventDispatcher>();
            MascotService          mascotService = Service.Get <MascotService>();
            List <QuestDefinition> list          = new List <QuestDefinition>();

            ScriptableObject[] assets = manifest.Assets;
            foreach (ScriptableObject scriptableObject in assets)
            {
                string             fileNameWithoutExtension = Path.GetFileNameWithoutExtension(scriptableObject.name);
                Mascot             mascot  = mascotService.GetMascot(fileNameWithoutExtension);
                ScriptableObject[] assets2 = ((Manifest)scriptableObject).Assets;
                foreach (ScriptableObject scriptableObject2 in assets2)
                {
                    QuestDefinition questDefinition = (QuestDefinition)scriptableObject2;
                    knownQuests[scriptableObject2.name]      = questDefinition;
                    questToMascotMap[scriptableObject2.name] = mascot;
                    list.Add(questDefinition);
                }
                mascot.KnownQuests = list.ToArray();
                list.Clear();
            }
            eventChannel = new EventChannel(dispatcher);
            eventChannel.AddListener <QuestEvents.SuspendQuest>(onSuspendQuestRequest);
            eventChannel.AddListener <QuestEvents.ResumeQuest>(onResumeQuestRequest);
            eventChannel.AddListener <QuestEvents.StartQuest>(onStartQuestRequest);
            eventChannel.AddListener <QuestEvents.ReplayQuest>(onReplayQuestRequest);
            eventChannel.AddListener <QuestEvents.RestartQuest>(onRestartQuestRequest);
            eventChannel.AddListener <SplashScreenEvents.SplashScreenOpened>(onSplashScreenOpened);
            eventChannel.AddListener <SplashScreenEvents.SplashScreenClosed>(onSplashScreenClosed);
            eventChannel.AddListener <QuestEvents.QuestUpdated>(onQuestUpdated);
            eventChannel.AddListener <QuestEvents.QuestInitializationComplete>(onQuestInitializationComplete);
            eventChannel.AddListener <RewardEvents.RewardPopupComplete>(onRewardPopupComplete);
            eventChannel.AddListener <QuestEvents.SetPlayerOutOfWorld>(onSetPlayerOutOfWorld);
            eventChannel.AddListener <SceneTransitionEvents.TransitionStart>(onSceneTransition);
            eventChannel.AddListener <QuestEvents.RegisterQuestSubFsm>(onRegisterQuestSubFsm);
            eventChannel.AddListener <InWorldUIEvents.DisableActionIndicators>(onDisableActionIndicators);
            eventChannel.AddListener <InWorldUIEvents.EnableActionIndicators>(onEnableActionIndicators);
            eventChannel.AddListener <QuestServiceEvents.QuestStatesRecieved>(onQuestStatesReceived);
            eventChannel.AddListener <QuestServiceErrors.QuestProgressionError>(onQuestProgressionError);
            eventChannel.AddListener <ProgressionEvents.LevelUp>(onLevelUp);
            updateQuestGivers(0);
            timeLockedCheckTimer = new Timer(2f, repeat: true, delegate
            {
                onTimerTick();
            });
            CoroutineRunner.StartPersistent(timeLockedCheckTimer.Start(), this, "timeLockedQuestTimer");
        }
Exemplo n.º 7
0
 public void CheckBreadcrumb(PersistentBreadcrumbTypeDefinitionKey breadcrumbIdType, int definitionId)
 {
     breadcrumbType = breadcrumbIdType;
     breadcrumbId   = definitionId;
 }
Exemplo n.º 8
0
 private void addBreadCrumbsForReward <TItemDefinition, URewardable, VIdType>(Reward reward, PersistentBreadcrumbTypeDefinitionKey singleBreadcrumbId, StaticBreadcrumbDefinitionKey groupBreadcrumbId) where TItemDefinition : IMemberLocked where URewardable : AbstractListReward <VIdType>
 {
     if (reward.TryGetValue(out URewardable rewardable) && !rewardable.IsEmpty())
     {
         bool           flag = false;
         List <VIdType> list = (List <VIdType>)rewardable.Reward;
         foreach (VIdType item in list)
         {
             if (dataEntityCollection.IsLocalPlayerMember() || !RewardUtils.IsMemberLockableItemMemberOnly <TItemDefinition, VIdType>(item))
             {
                 notificationBreadcrumbController.AddPersistentBreadcrumb(singleBreadcrumbId, item.ToString());
                 flag = true;
             }
         }
         if (flag)
         {
             notificationBreadcrumbController.AddBreadcrumb(groupBreadcrumbId);
         }
     }
 }
Exemplo n.º 9
0
    private void addBreadcrumbsForReward(Reward reward)
    {
        addBreadCrumbsForReward <PropDefinition, DurableReward, int>(reward, breadcrumbIdentifiers.GearType, breadcrumbIdentifiers.Gear);
        addBreadCrumbsForReward <TemplateDefinition, EquipmentTemplateReward, int>(reward, breadcrumbIdentifiers.TemplateType, breadcrumbIdentifiers.Template);
        addBreadCrumbsForReward <FabricDefinition, FabricReward, int>(reward, breadcrumbIdentifiers.FabricType, breadcrumbIdentifiers.Fabric);
        addBreadCrumbsForReward <DecalDefinition, DecalReward, int>(reward, breadcrumbIdentifiers.DecalType, breadcrumbIdentifiers.Decal);
        addBreadCrumbsForReward <TubeDefinition, TubeReward, int>(reward, breadcrumbIdentifiers.TubeType, breadcrumbIdentifiers.Tube);
        addBreadCrumbsForReward <DecorationDefinition, DecorationReward, int>(reward, breadcrumbIdentifiers.DecorationType, breadcrumbIdentifiers.Decoration);
        addBreadCrumbsForReward <StructureDefinition, StructureReward, int>(reward, breadcrumbIdentifiers.StructureType, breadcrumbIdentifiers.Structure);
        addBreadCrumbsForReward <MusicTrackDefinition, MusicTrackReward, int>(reward, breadcrumbIdentifiers.MusicTrackType, breadcrumbIdentifiers.MusicTrack);
        addBreadCrumbsForReward <LightingDefinition, LightingReward, int>(reward, breadcrumbIdentifiers.LightingType, breadcrumbIdentifiers.Lighting);
        if (reward.TryGetValue(out EquipmentInstanceReward rewardable) && !rewardable.IsEmpty())
        {
            bool flag = false;
            for (int i = 0; i < rewardable.EquipmentInstances.Count; i++)
            {
                if (dataEntityCollection.IsLocalPlayerMember() || !RewardUtils.IsMemberLockableItemMemberOnly <TemplateDefinition, int>(rewardable.EquipmentInstances[i].definitionId))
                {
                    NotificationBreadcrumbController      obj           = notificationBreadcrumbController;
                    PersistentBreadcrumbTypeDefinitionKey inventoryType = breadcrumbIdentifiers.InventoryType;
                    long equipmentId = rewardable.EquipmentInstances[i].equipmentId;
                    obj.AddPersistentBreadcrumb(inventoryType, equipmentId.ToString());
                    flag = true;
                }
            }
            if (flag)
            {
                notificationBreadcrumbController.AddBreadcrumb(breadcrumbIdentifiers.Inventory);
            }
        }
        if (!reward.TryGetValue(out ConsumableInstanceReward rewardable2) || rewardable2.IsEmpty())
        {
            return;
        }
        Dictionary <string, int> .Enumerator enumerator = rewardable2.Consumables.GetEnumerator();
        bool flag2 = false;
        bool flag3 = false;

        while (enumerator.MoveNext())
        {
            if (dataEntityCollection.IsLocalPlayerMember() || !RewardUtils.IsMemberLockableItemMemberOnly <PropDefinition, int>(RewardUtils.GetConsumableIdByServerName(enumerator.Current.Key)))
            {
                PersistentBreadcrumbTypeDefinitionKey type;
                if (RewardUtils.IsConsumablePartyGame(enumerator.Current.Key))
                {
                    type  = breadcrumbIdentifiers.PartyGameType;
                    flag3 = true;
                }
                else
                {
                    type  = breadcrumbIdentifiers.ConsumableType;
                    flag2 = true;
                }
                notificationBreadcrumbController.AddPersistentBreadcrumb(type, RewardUtils.GetConsumableIdByServerName(enumerator.Current.Key).ToString());
            }
        }
        if (flag2)
        {
            notificationBreadcrumbController.AddBreadcrumb(breadcrumbIdentifiers.Consumable);
        }
        if (flag3)
        {
            notificationBreadcrumbController.AddBreadcrumb(breadcrumbIdentifiers.PartyGame);
        }
    }
Exemplo n.º 10
0
 public void SetBreadcrumbId(PersistentBreadcrumbTypeDefinitionKey breadcrumbType, string instanceId)
 {
     SetBreadcrumbId(PersistentBreadcrumbTypeDefinition.ToStaticBreadcrumb(breadcrumbType.Id, instanceId));
 }