예제 #1
0
        public override void Initialize()
        {
            base.Initialize();
            monstersAreaText.text = L10nManager.Localize("UI_WORLD_MAP_MONSTERS");
            rewardsAreaText.text  = L10nManager.Localize("UI_REWARDS");
            submitButton.SetSubmitText(L10nManager.Localize("UI_WORLD_MAP_ENTER"));

            var tooltip = Find <ItemInformationTooltip>();

            foreach (var view in rewardsAreaItemViews)
            {
                view.touchHandler.OnClick.Subscribe(_ =>
                {
                    AudioController.PlayClick();
                    var model = new Model.CountableItem(
                        new Nekoyume.Model.Item.Material(view.Data as MaterialItemSheet.Row),
                        1);
                    tooltip.Show(view.RectTransform, model);
                    tooltip.itemInformation.iconArea.itemView.countText.enabled = false;
                }).AddTo(view);
            }

            foreach (var stage in world.Pages.SelectMany(page => page.Stages))
            {
                stage.onClick.Subscribe(worldMapStage =>
                {
                    _sharedViewModel.SelectedStageId.Value =
                        worldMapStage.SharedViewModel.stageId;
                }).AddTo(gameObject);
            }

            submitButton.OnSubmitClick
            .Subscribe(_ => GoToPreparation())
            .AddTo(gameObject);
        }
예제 #2
0
        private bool CountEnabledFuncDefault(CountableItem countableItem)
        {
            if (countableItem.ItemBase.Value == null)
            {
                return(false);
            }

            return(countableItem.ItemBase.Value.ItemType == ItemType.Material);
        }
예제 #3
0
        public ItemInformationTooltip(CountableItem countableItem = null)
        {
            var currency = States.Instance.GoldBalanceState.Gold.Currency;

            Price = new ReactiveProperty <FungibleAssetValue>(new FungibleAssetValue(currency));

            ItemInformation = new ItemInformation(countableItem);
            ItemInformation.item.Subscribe(item =>
            {
                if (item is null)
                {
                    TitleText.Value = "";

                    return;
                }

                TitleText.Value = item.ItemBase.Value.GetLocalizedName();

                if (!(item is ShopItem shopItem))
                {
                    PriceEnabled.Value = false;

                    return;
                }

                PriceEnabled.Value = true;
                Price.Value        = shopItem.Price.Value;
            });

            SubmitButtonEnabledFunc.Value = SubmitButtonEnabledFuncDefault;
            SubmitButtonEnabledFunc.Subscribe(func =>
            {
                if (func == null)
                {
                    SubmitButtonEnabledFunc.Value = SubmitButtonEnabledFuncDefault;
                }

                SubmitButtonEnabled.Value = SubmitButtonEnabledFunc.Value(ItemInformation.item.Value);
            });

            FooterRootActive = Observable.CombineLatest(SubmitButtonEnabled, PriceEnabled)
                               .Select(_ => _[0] || _[1]).ToReadOnlyReactiveProperty();
        }
예제 #4
0
 public ItemInformation(CountableItem countableItem = null)
 {
     item.Value = countableItem;
 }
예제 #5
0
 private static bool SubmitButtonEnabledFuncDefault(CountableItem model)
 {
     return(false);
 }
예제 #6
0
 public CombinationResultPopup(CountableItem countableItem = null)
 {
     itemInformation.Value = new ItemInformation(countableItem);
 }