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(); }
public static void Consume(MousePurchaseResourceAmount amount) { Debug.Assert(MousePurchaseResourceHelper.IsConsume(amount), "精算ができません"); GameManager.Instance.Wallet.Consume(amount.Currency); GameManager.Instance.ArrangementItemStore.Consume(amount.ArrangementItemAmount); }