Ejemplo n.º 1
0
 public void AddScreen(ScreenBase screen, QueueScreenBehavior subType)
 {
     this.AddScreen(screen, true, subType);
     if (!UXUtils.ShouldShowHudBehindScreen(screen.AssetName))
     {
         Service.Get <UXController>().HUD.Visible = false;
     }
 }
Ejemplo n.º 2
0
 public ScreenInfo(UXElement screen, bool modal, bool visibleScrim, QueueScreenBehavior subType)
 {
     this.Screen = screen;
     this.Depth  = 0;
     this.ScreenPanelThickness = 0;
     this.IsModal       = modal;
     this.VisibleScrim  = visibleScrim;
     this.QueueBehavior = subType;
     this.WasVisible    = true;
 }
Ejemplo n.º 3
0
        private void ShowEquipmentUnlockedCelebration(bool immediate)
        {
            QueueScreenBehavior subType = QueueScreenBehavior.QueueAndDeferTillClosed;

            if (immediate)
            {
                subType = QueueScreenBehavior.Default;
            }
            Service.ScreenController.AddScreen(new EquipmentUnlockedCelebrationScreen(this.pendingCelebrationEquipment), subType);
            this.pendingCelebrationEquipment = null;
        }
Ejemplo n.º 4
0
 public void OnDequeued()
 {
     if (this.QueueBehavior == QueueScreenBehavior.QueueAndDeferTillClosed)
     {
         this.QueueBehavior = QueueScreenBehavior.DeferTillClosed;
     }
     else if (this.QueueBehavior == QueueScreenBehavior.Queue)
     {
         this.QueueBehavior = QueueScreenBehavior.Default;
     }
 }
Ejemplo n.º 5
0
        private void ShowDeployableUnlockedCelebration(IDeployableVO vo, bool isSpecialAttack, bool showImmediate)
        {
            QueueScreenBehavior subType = QueueScreenBehavior.QueueAndDeferTillClosed;

            if (showImmediate)
            {
                subType = QueueScreenBehavior.Default;
            }
            bool isUnlock = vo.Lvl == 1;

            Service.ScreenController.AddScreen(new DeployableUnlockedCelebrationScreen(vo, isSpecialAttack, isUnlock), subType);
        }
Ejemplo n.º 6
0
 public void OnEnqueued()
 {
     if (this.QueueBehavior == QueueScreenBehavior.DeferTillClosed)
     {
         this.QueueBehavior = QueueScreenBehavior.QueueAndDeferTillClosed;
         return;
     }
     if (this.QueueBehavior == QueueScreenBehavior.Default)
     {
         this.QueueBehavior = QueueScreenBehavior.Queue;
     }
 }
Ejemplo n.º 7
0
        public void ShowSquadLevelUpIfPending()
        {
            ScreenController screenController = Service.ScreenController;
            PerkManager      perkManager      = Service.PerkManager;
            SquadController  squadController  = Service.SquadController;
            Squad            currentSquad     = Service.SquadController.StateManager.GetCurrentSquad();
            int level = currentSquad.Level;
            int lastViewedSquadLevelUp = squadController.GetLastViewedSquadLevelUp();

            if (!perkManager.HasPlayerSeenPerkTutorial())
            {
                return;
            }
            if (level > 1 && level > lastViewedSquadLevelUp)
            {
                squadController.SetLastViewedSquadLevelUp(level);
                int num = 1;
                if (lastViewedSquadLevelUp > 0)
                {
                    num = level - lastViewedSquadLevelUp;
                }
                int sQUADPERK_MAX_SQUAD_LEVEL_CELEBRATIONS_SHOWN = GameConstants.SQUADPERK_MAX_SQUAD_LEVEL_CELEBRATIONS_SHOWN;
                if (sQUADPERK_MAX_SQUAD_LEVEL_CELEBRATIONS_SHOWN < num)
                {
                    num = sQUADPERK_MAX_SQUAD_LEVEL_CELEBRATIONS_SHOWN;
                }
                int num2 = level - num + 1;
                QueueScreenBehavior           subType            = QueueScreenBehavior.Default;
                SquadLevelUpCelebrationScreen highestLevelScreen = screenController.GetHighestLevelScreen <SquadLevelUpCelebrationScreen>();
                if (highestLevelScreen != null)
                {
                    num2    = level;
                    subType = QueueScreenBehavior.QueueAndDeferTillClosed;
                }
                for (int i = num2; i <= level; i++)
                {
                    List <PerkVO> perksUnlockedAtSquadLevel = perkManager.GetPerksUnlockedAtSquadLevel(i);
                    SquadLevelUpCelebrationScreen screen    = new SquadLevelUpCelebrationScreen(i, perksUnlockedAtSquadLevel);
                    screenController.AddScreen(screen, subType);
                    subType = QueueScreenBehavior.QueueAndDeferTillClosed;
                }
            }
        }
Ejemplo n.º 8
0
        public ScreenInfo AddScreen(UXElement screen, bool modal, bool visibleScrim, QueueScreenBehavior subType)
        {
            ScreenBase highestLevelScreen = this.GetHighestLevelScreen <ScreenBase>();

            if (highestLevelScreen != null)
            {
                AlertScreen alertScreen = highestLevelScreen as AlertScreen;
                if (alertScreen != null && alertScreen.IsFatal)
                {
                    screen.Visible = false;
                    return(null);
                }
            }
            ScreenBase  screenBase   = screen as ScreenBase;
            AlertScreen alertScreen2 = screen as AlertScreen;
            ScreenInfo  screenInfo   = new ScreenInfo(screen, modal, visibleScrim, subType);

            if (!this.HandleScreenQueue(screenInfo))
            {
                if (highestLevelScreen != null && highestLevelScreen.IsAlwaysOnTop && this.screens.Count > 0)
                {
                    if ((screenBase != null && screenBase.IsAlwaysOnTop) || (alertScreen2 != null && alertScreen2.IsFatal))
                    {
                        this.screens.Add(screenInfo);
                        Service.EventManager.SendEvent(EventId.NewTopScreen, null);
                    }
                    else
                    {
                        this.screens.Insert(this.screens.Count - 1, screenInfo);
                    }
                }
                else
                {
                    this.screens.Add(screenInfo);
                    Service.EventManager.SendEvent(EventId.NewTopScreen, null);
                }
                screen.Visible = true;
                this.UpdateScrimAndDepths();
                Service.UserInputManager.ResetLastScreenPosition();
            }
            return(screenInfo);
        }
Ejemplo n.º 9
0
 public void AddScreen(UXElement screen, bool modal, QueueScreenBehavior subType)
 {
     this.AddScreen(screen, modal, true, subType);
 }