Exemplo n.º 1
0
        public CrateInfoModalScreen(string crateUid, string planetID, int hqLevel)
        {
            this.selectedRowIndex = -1;
            base..ctor("gui_modal_crateinfo");
            IDataController dataController = Service.Get <IDataController>();

            this.targetCrateVO = dataController.Get <CrateVO>(crateUid);
            string      text    = null;
            FactionType faction = Service.Get <CurrentPlayer>().Faction;

            if (faction != FactionType.Empire)
            {
                if (faction == FactionType.Rebel)
                {
                    text = this.targetCrateVO.RebelLEIUid;
                }
            }
            else
            {
                text = this.targetCrateVO.EmpireLEIUid;
            }
            if (!string.IsNullOrEmpty(text))
            {
                this.targetLEIVO = dataController.Get <LimitedEditionItemVO>(text);
            }
            this.planetVO            = dataController.GetOptional <PlanetVO>(planetID);
            this.hqLevel             = hqLevel;
            this.filteredFlyoutItems = new List <CrateFlyoutItemVO>();
            CurrentPlayer currentPlayer = Service.Get <CurrentPlayer>();

            string[] array = (currentPlayer.Faction == FactionType.Empire) ? this.targetCrateVO.FlyoutEmpireItems : this.targetCrateVO.FlyoutRebelItems;
            if (array != null)
            {
                int i   = 0;
                int num = array.Length;
                while (i < num)
                {
                    string            text2    = array[i];
                    CrateFlyoutItemVO optional = dataController.GetOptional <CrateFlyoutItemVO>(text2);
                    if (optional == null)
                    {
                        Service.Get <StaRTSLogger>().ErrorFormat("CrateInfoModalScreen: FlyoutItemVO Uid {0} not found", new object[]
                        {
                            text2
                        });
                    }
                    else
                    {
                        bool flag  = UXUtils.IsValidRewardItem(optional, this.planetVO, hqLevel);
                        bool flag2 = UXUtils.ShouldDisplayCrateFlyoutItem(optional, CrateFlyoutDisplayType.Flyout);
                        if ((flag & flag2) && this.filteredFlyoutItems.Count < 4)
                        {
                            this.filteredFlyoutItems.Add(optional);
                        }
                    }
                    i++;
                }
            }
        }
Exemplo n.º 2
0
        public static void SetLeiExpirationTimerLabel(LimitedEditionItemVO leiVO, UXLabel expirationLabel, Lang lang)
        {
            expirationLabel.TextColor = UXUtils.COLOR_CRATE_EXPIRE_LABEL_NORMAL;
            int thresholdSeconds = GameConstants.CRATE_INVENTORY_LEI_EXPIRATION_TIMER_WARNING * 60;
            CountdownControl countdownControl = new CountdownControl(expirationLabel, lang.Get("CRATE_FLYOUT_LEI_EXPIRATION_TIMER", new object[0]), leiVO.EndTime);

            countdownControl.SetThreshold(thresholdSeconds, UXUtils.COLOR_CRATE_EXPIRE_LABEL_WARNING);
        }
        public static AlertScreen ShowModal(LimitedEditionItemVO leiVO, OnScreenModalResult onModalResult, object modalResultCookie)
        {
            LimitedEditionItemPurchaseConfirmationScreen limitedEditionItemPurchaseConfirmationScreen = new LimitedEditionItemPurchaseConfirmationScreen();

            limitedEditionItemPurchaseConfirmationScreen.LeiVO    = leiVO;
            limitedEditionItemPurchaseConfirmationScreen.geometry = leiVO;
            limitedEditionItemPurchaseConfirmationScreen.title    = LangUtils.GetLEIDisplayName(leiVO.Uid);
            limitedEditionItemPurchaseConfirmationScreen.message  = limitedEditionItemPurchaseConfirmationScreen.lang.Get("PURCHASE_LEI", new object[]
            {
                limitedEditionItemPurchaseConfirmationScreen.title
            });
            limitedEditionItemPurchaseConfirmationScreen.OnModalResult     = onModalResult;
            limitedEditionItemPurchaseConfirmationScreen.ModalResultCookie = modalResultCookie;
            limitedEditionItemPurchaseConfirmationScreen.IsAlwaysOnTop     = true;
            Service.Get <ScreenController>().AddScreen(limitedEditionItemPurchaseConfirmationScreen);
            return(limitedEditionItemPurchaseConfirmationScreen);
        }
Exemplo n.º 4
0
 private static bool IsValidForPlayer(LimitedEditionItemVO vo, CurrentPlayer player)
 {
     return(vo.Faction == player.Faction && CrateUtils.AllConditionsMet(vo.AudienceConditions));
 }