private void CreateUI()
        {
            Point windowSizes = new Point(600, 400);

            Style.PushStyle("moneyPanel");
            Panel moneyPanel = new VerticalLayout().SetAnchor(AnchorX.Right, AnchorY.Top);

            moneyPanel.SetFixedWidth(300).SetLayoutSize(LayoutSize.FixedSize, LayoutSize.WrapContent);
            moneyPanel.sprite  = Style.sprites["panel"];
            moneyPanel.Padding = new Point(16, 8);
            moneyPanel.AddChild(new Text($"${simulator.playerCompany.displayMoney}").SetTextUpdateFunction(() => { return($"${simulator.playerCompany.displayMoney}"); }).SetAllignments(Allignment.Right, Allignment.Middle).SetFont(Style.fonts["textSmall"]).SetGetTranslation(false));

            uiCanvas.AddChild(moneyPanel);

            Style.PopStyle();
            Style.PushStyle("mainButtonPanel");

            Panel mainButtonPanel = new VerticalLayout().SetAnchor(AnchorX.Left, AnchorY.Bottom);

            mainButtonPanel.SetMargin(8).SetLayoutSize(LayoutSize.WrapContent, LayoutSize.WrapContent);
            mainButtonPanel.sprite  = Style.sprites["panel"];
            mainButtonPanel.Padding = new Point(8, 8);

            foreach (GameState gs in Enum.GetValues(typeof(GameState)))
            {
                GameState state = gs;
                Button    b     = new Button(state.ToString());
                b.OnMouseClick = () => ChangeGameState(state);
                mainButtonPanel.AddChild(b);
            }

            uiCanvas.AddChild(mainButtonPanel);

            Style.PopStyle();
            Style.PushStyle("storeScreen");

            playerStoreUIScreen = new StoreScreen(CreateAgent, FireAgent);
            Style.PushStyle("panelSpriteOn");
            playerStoreWindow = new Window(playerStoreUIScreen, "Store", uiCanvas).SetIsDraggable(false);
            playerStoreWindow.SetAnchor(AnchorX.Middle, AnchorY.Middle);
            playerStoreWindow.Close();
            Style.PopStyle("panelSpriteOn");
            uiCanvas.AddChild(playerStoreWindow);


            CitiesScreen citiesScreen = new CitiesScreen(windowSizes, simulator.cities);

            Style.PushStyle("panelSpriteOn");
            citiesWindow = new Window(citiesScreen, "Cities", uiCanvas).SetIsDraggable(false);
            citiesWindow.SetAnchor(AnchorX.Middle, AnchorY.Middle);
            citiesWindow.Close();
            Style.PopStyle("panelSpriteOn");
            uiCanvas.AddChild(citiesWindow);

            Style.PopStyle();

            uiCanvas.AddChild(CreateTimeControlls());

            uiCanvas.FinishCreation();
        }
Beispiel #2
0
 public ShopStickerViewModule(StoreScreen parentStoreScreen)
 {
     this.parentStoreScreen   = parentStoreScreen;
     this.tabStickers         = new Dictionary <StoreTab, JewelControl>();
     this.orginalUIColors     = new Dictionary <string, Color>();
     this.orginalTextureNames = new Dictionary <string, string>();
 }
Beispiel #3
0
        public void ResetGeometry()
        {
            StoreScreen highestLevelScreen = Service.ScreenController.GetHighestLevelScreen <StoreScreen>();

            if (highestLevelScreen != null)
            {
                highestLevelScreen.ResetCurrentTab();
            }
            Service.EventManager.SendEvent(EventId.ForceGeometryReload, null);
        }
Beispiel #4
0
        public override void Execute()
        {
            base.Execute();
            StoreScreen highestLevelScreen = Service.Get <ScreenController>().GetHighestLevelScreen <StoreScreen>();

            if (highestLevelScreen != null && highestLevelScreen.IsLoaded())
            {
                Service.Get <EventManager>().RegisterObserver(this, EventId.StoreScreenReady, EventPriority.Default);
                this.PerformStoreLookup(highestLevelScreen);
                return;
            }
            Service.Get <EventManager>().RegisterObserver(this, EventId.ScreenLoaded, EventPriority.Default);
        }
Beispiel #5
0
 public override EatResponse OnEvent(EventId id, object cookie)
 {
     if (id == EventId.OpeningPurchasedCrate)
     {
         Service.Get <EventManager>().UnregisterObserver(this, EventId.OpeningPurchasedCrate);
         ProcessingScreen.Hide();
         StoreScreen highestLevelScreen = Service.Get <ScreenController>().GetHighestLevelScreen <StoreScreen>();
         if (this.ModalReason == CrateInfoReason.Reason_Store_Buy && highestLevelScreen != null)
         {
             highestLevelScreen.RegisterForCrateFlyoutReOpen(this.targetCrateVO.Uid);
         }
         this.OnCloseCrateInfoButtonClicked(null);
     }
     return(base.OnEvent(id, cookie));
 }
        public override void Execute()
        {
            base.Execute();
            StoreScreen highestLevelScreen = Service.Get <ScreenController>().GetHighestLevelScreen <StoreScreen>();

            if (highestLevelScreen != null && highestLevelScreen.IsLoaded())
            {
                this.parent.ChildComplete(this);
                return;
            }
            Service.Get <EventManager>().RegisterObserver(this, EventId.ScreenLoaded, EventPriority.Default);
            if (highestLevelScreen == null)
            {
                Service.Get <ScreenController>().AddScreen(new StoreScreen());
            }
        }
Beispiel #7
0
        public ShardShopViewModule(StoreScreen parent)
        {
            this.parent                      = parent;
            this.lang                        = Service.Lang;
            this.modal                       = parent.GetElement <UXElement>("ModalPurchase");
            this.modalAnimator               = this.modal.Root.GetComponent <Animator>();
            this.animDelayTimerId            = 0u;
            this.quantityCounter             = parent.GetElement <UXLabel>("LabelQuantityCounter");
            this.quantityFloatingCounter     = parent.GetElement <UXLabel>("LabelQuantityCounterFloater");
            this.iconHolder                  = parent.GetElement <UXElement>("WidgetFragPlaceholder");
            this.bodyText                    = parent.GetElement <UXLabel>("LabelBodyText");
            this.titleText                   = parent.GetElement <UXLabel>("LabelTitle");
            this.purchaseSingleLabel         = parent.GetElement <UXLabel>("LabelPurchase1");
            this.purchaseAllLabel            = parent.GetElement <UXLabel>("LabelPurchaseAll");
            this.purchaseSingleDescLabel     = parent.GetElement <UXLabel>("CostOptionPay1LabelDescription");
            this.purchaseAllDescLabel        = parent.GetElement <UXLabel>("CostOptionPayAllLabelDescription");
            this.purchaseSingleSprite        = parent.GetElement <UXSprite>("SpriteCurrencyPurchase1");
            this.purchaseAllSprite           = parent.GetElement <UXSprite>("SpritePurchaseAllIcon");
            this.closeModalBtn               = parent.GetElement <UXButton>("BtnModalClose");
            this.purchaseSingleBtn           = parent.GetElement <UXButton>("BtnPurchase1");
            this.purchaseAllBtn              = parent.GetElement <UXButton>("BtnPurchaseAll");
            this.returnBtn                   = parent.GetElement <UXButton>("BtnReturn");
            this.closeModalBtn.OnClicked     = new UXButtonClickedDelegate(this.OnCloseModalClicked);
            this.purchaseSingleBtn.OnClicked = new UXButtonClickedDelegate(this.OnPurchaseShardsClicked);
            this.purchaseAllBtn.OnClicked    = new UXButtonClickedDelegate(this.OnPurchaseShardsClicked);
            this.returnBtn.OnClicked         = new UXButtonClickedDelegate(this.OnCloseModalClicked);
            UXElement element = parent.GetElement <UXElement>("FragmentItemTemplate");

            this.icon = parent.CloneElement <UXElement>(element, "ModalIcon", this.iconHolder.Root);
            this.iconProgressLabel         = parent.GetElement <UXLabel>(UXUtils.FormatAppendedName("LabelFragProgress", "ModalIcon"));
            this.iconProgressMessage1      = parent.GetElement <UXLabel>(UXUtils.FormatAppendedName("LabelFragProgressMessage1", "ModalIcon"));
            this.iconProgressMessage1.Text = this.lang.Get("CRATE_REWARD_POPUP_PROGRESS_UPGRADE_SEQ1", new object[0]);
            this.iconProgressMessage2      = parent.GetElement <UXLabel>(UXUtils.FormatAppendedName("LabelFragProgressMessage2", "ModalIcon"));
            this.iconProgressMessage2.Text = this.lang.Get("CRATE_REWARD_POPUP_PROGRESS_UPGRADE_SEQ2", new object[0]);
            this.iconRequirement           = parent.GetElement <UXLabel>(UXUtils.FormatAppendedName("LabelFragmentRequirement", "ModalIcon"));
            this.iconSprite                = parent.GetElement <UXSprite>(UXUtils.FormatAppendedName("SpriteFragmentImage", "ModalIcon"));
            this.iconButtonCard            = parent.GetElement <UXButton>(UXUtils.FormatAppendedName("ButtonFragmentCard", "ModalIcon"));
            this.iconBaseShardProgressBar  = parent.GetElement <UXSlider>(UXUtils.FormatAppendedName("pBarFragmentCount", "ModalIcon"));
            this.iconDeltaShardProgressBar = parent.GetElement <UXSlider>(UXUtils.FormatAppendedName("pBarFragmentCountDelta", "ModalIcon"));
            this.iconAnimator              = this.iconButtonCard.Root.GetComponent <Animator>();
            this.icon.Visible              = false;
            Service.ShardShopController.ResetClientPredictionId();
            this.predictedData = Service.ShardShopController.CurrentShopData.Copy();
        }
Beispiel #8
0
        private void OpenStore(string action, string data)
        {
            StoreScreen storeScreen = new StoreScreen();

            string[] array = data.Split(new char[]
            {
                '|'
            });
            if (array.Length > 0)
            {
                StoreTab tab = StringUtils.ParseEnum <StoreTab>(array[0]);
                storeScreen.OpenStoreTab(tab);
            }
            Service.ScreenController.AddScreen(storeScreen);
            if (array.Length > 1)
            {
                storeScreen.ScrollToItem(array[1]);
            }
        }
Beispiel #9
0
 private void PerformStoreLookup(StoreScreen store)
 {
     store.OpenStoreTab(this.tab);
     store.ScrollToItem(this.prepareArgs[1]);
     store.EnableScrollListMovement(false);
 }
Beispiel #10
0
        public override void Execute()
        {
            base.Execute();
            string elementName   = this.prepareArgs[0];
            string arrowPosition = "";

            if (this.prepareArgs.Length > 1)
            {
                arrowPosition = this.prepareArgs[1].ToLower();
            }
            EventManager eventManager = Service.Get <EventManager>();
            UXElement    uXElement    = Service.Get <ScreenController>().FindElement <UXElement>(elementName);

            this.highlightedButton   = (uXElement as UXButton);
            this.highlightedCheckbox = (uXElement as UXCheckbox);
            if (this.highlightedCheckbox != null && this.highlightedCheckbox.Selected && this.highlightedCheckbox.RadioGroup != 0)
            {
                this.parent.ChildComplete(this);
                return;
            }
            if (uXElement == null)
            {
                this.parent.ChildComplete(this);
                return;
            }
            StoreScreen highestLevelScreen = Service.Get <ScreenController>().GetHighestLevelScreen <StoreScreen>();

            if (highestLevelScreen != null && !highestLevelScreen.TransitionedIn)
            {
                eventManager.RegisterObserver(this, EventId.ScreenRefreshed, EventPriority.Default);
                eventManager.RegisterObserver(this, EventId.ScreenTransitionInComplete, EventPriority.Default);
                eventManager.RegisterObserver(this, EventId.StoreScreenReady, EventPriority.Default);
                return;
            }
            if (this.prepareArgs.Length == 3 && "persist".Equals(this.prepareArgs[2], 5))
            {
                this.parent.ChildComplete(this);
            }
            else if (this.highlightedCheckbox != null)
            {
                eventManager.RegisterObserver(this, EventId.ScreenRefreshed, EventPriority.Default);
                eventManager.RegisterObserver(this, EventId.ScreenTransitionInComplete, EventPriority.Default);
                Service.Get <UserInputInhibitor>().AllowOnly(this.highlightedCheckbox);
                if (this.highlightedCheckbox.OnSelected != new UXCheckboxSelectedDelegate(this.OnSelectedHighlighted))
                {
                    this.originalCheckboxSelected       = this.highlightedCheckbox.OnSelected;
                    this.highlightedCheckbox.OnSelected = new UXCheckboxSelectedDelegate(this.OnSelectedHighlighted);
                }
            }
            else
            {
                eventManager.RegisterObserver(this, EventId.ScreenRefreshed, EventPriority.Default);
                eventManager.RegisterObserver(this, EventId.ScreenTransitionInComplete, EventPriority.Default);
                Service.Get <UserInputInhibitor>().AllowOnly(this.highlightedButton);
                if (this.highlightedButton.OnClicked != new UXButtonClickedDelegate(this.OnClickedHighlighted))
                {
                    this.originalButtonClicked       = this.highlightedButton.OnClicked;
                    this.highlightedButton.OnClicked = new UXButtonClickedDelegate(this.OnClickedHighlighted);
                }
            }
            Service.Get <UXController>().MiscElementsManager.HighlightButton(uXElement, arrowPosition);
        }
Beispiel #11
0
        public IEnumerator DoRescale()
        {
            yield return(new WaitForEndOfFrame());

            object obj = this.lock_;

            lock (obj)
            {
                float num  = (float)Screen.width;
                float num2 = (float)Screen.height;
                if (this.bNeedCameraReenable)
                {
                    if (this.cameraReenableWaitCount > 20)
                    {
                        this.cameraReenableWaitCount = 0;
                        foreach (Camera current in this.cameraStatus.Keys)
                        {
                            bool enabled = false;
                            bool flag2   = this.cameraStatus.TryGetValue(current, out enabled);
                            current.enabled = enabled;
                        }
                        this.bNeedCameraReenable = false;
                    }
                    else
                    {
                        this.cameraReenableWaitCount++;
                    }
                }
                else if (num2 != this.screenHeight || num != this.screenWidth)
                {
                    if (Service.IsSet <CameraManager>() && Service.Get <CameraManager>() != null)
                    {
                        Service.Get <CameraManager>().CalculateScale(num, num2);
                    }
                    if (Service.IsSet <EventManager>() && Service.Get <EventManager>() != null)
                    {
                        Vector2 vector = new Vector2(num, num2);
                        Service.Get <EventManager>().SendEvent(EventId.ScreenSizeChanged, vector);
                    }
                    if (Service.IsSet <GalaxyViewController>())
                    {
                        GalaxyViewController galaxyViewController = Service.Get <GalaxyViewController>();
                        if (galaxyViewController != null)
                        {
                            galaxyViewController.OnScreenSizeChanged((int)num, (int)num2);
                        }
                    }
                    if (Service.IsSet <ScreenController>() && Service.Get <ScreenController>() != null)
                    {
                        StoreScreen storeScreen = Service.Get <ScreenController>().GetLastScreen() as StoreScreen;
                        if (storeScreen != null)
                        {
                            storeScreen.RestoreIcons();
                        }
                    }
                    if (Service.IsSet <EventManager>() && Service.Get <EventManager>() != null)
                    {
                        Service.Get <EventManager>().SendEvent(EventId.ForceGeometryReload, null);
                    }
                    this.screenWidth  = num;
                    this.screenHeight = num2;
                }
            }
            yield break;
        }