private void UpdateView()
        {
            var currentMouseStockCount = FetchCurrentCount();
            var nextMouseStockCount    = currentMouseStockCount + 1;

            if (IsMaxCount())
            {
                this.mousePurchaseView.UpdateView(
                    currentMouseStockCount.ToString(),
                    "-",
                    "-",
                    "-"
                    );
                this.mousePurchaseView.SetNoPuchaseByMaxCount();
            }
            else
            {
                var mousePurchaceTableModel = this.mousePurchaceTableRepository.Get((uint)nextMouseStockCount.Value);
                this.mousePurchaseView.UpdateView(
                    currentMouseStockCount.ToString(),
                    nextMouseStockCount.ToString(),
                    mousePurchaceTableModel.CurrencyCost.ToString(),
                    mousePurchaceTableModel.ItemConst.ToString()
                    );

                var canPurchase = MousePurchaseResourceHelper.IsConsume(mousePurchaceTableModel.GetMousePurchaseResourceAmount());
                if (!canPurchase)
                {
                    this.mousePurchaseView.SetNoPuchaseByNoCost();
                }
            }
        }
        public void Initialize(IMousePurchaceTableRepository mousePurchaceTableRepository, IPlayerMouseStockRepository playerMouseStockRepository)
        {
            this.mousePurchaceTableRepository = mousePurchaceTableRepository;
            this.playerMouseStockRepository   = playerMouseStockRepository;

            this.mousePurchaseView.Initialize();
            this.disposables.Add(this.mousePurchaseView.OnClose.Subscribe(_ => {
                this.Close();
            }));
            this.disposables.Add(this.mousePurchaseView.OnPurchace.Subscribe(_ => {
                var mousePurchaceTableModel = this.mousePurchaceTableRepository.Get((uint)(FetchCurrentCount().Value + 1));
                var amount = mousePurchaceTableModel.GetMousePurchaseResourceAmount();
                if (MousePurchaseResourceHelper.IsConsume(amount))
                {
                    // 素材を消費
                    MousePurchaseResourceHelper.Consume(amount);

                    // ネズミの数を増やす
                    this.IncrementMouseStockCount();

                    // 見た目を変更する
                    this.UpdateView();
                }
            }));
            this.Close();
        }
示例#3
0
 public static void Consume(MousePurchaseResourceAmount amount)
 {
     Debug.Assert(MousePurchaseResourceHelper.IsConsume(amount), "精算ができません");
     GameManager.Instance.Wallet.Consume(amount.Currency);
     GameManager.Instance.ArrangementItemStore.Consume(amount.ArrangementItemAmount);
 }