public void OnEnter() { GameManager.Instance.TimeManager.Pause(); // 変化前の情報 Currency prevCurrency = GameManager.Instance.Wallet.Current; Satisfaction currentSatisfaction = this.satisfactionCalculater.CalcFieldSatisfaction(); // 日銭の計算と付与を行う var dailyEarn = dailyEarnCalculater.CalcEarnFromSatisfaction(); GameManager.Instance.Wallet.Push(dailyEarn); GameManager.Instance.EffectManager.PlayEarnEffect(dailyEarn, GameManager.Instance.MouseHomeManager.HomePostion); // 変化後の計算 Currency nextCurrency = GameManager.Instance.Wallet.Current; // 一日の終りダイアログを出す this.DoDailyEnd(); GameManager.Instance.GameUIManager.DailyEndPresenter.Show(); GameManager.Instance.GameUIManager.DailyEndPresenter.SetCurrentChangeInfo(prevCurrency, nextCurrency, currentSatisfaction); this.disposable = GameManager.Instance.GameUIManager.DailyEndPresenter.OnClose .SelectMany(_ => { // 一日の始まりダイアログを出す this.DoDailyStart(); GameManager.Instance.GameUIManager.DailyStartPresenter.Show(); return(GameManager.Instance.GameUIManager.DailyStartPresenter.OnClose); }) .Subscribe(_ => { // 選択画面に移動する GameManager.Instance.GameModeManager.EnqueueChangeMode(GameModeGenerator.GenerateSelectMode()); }); }
/// <summary> /// 満足度から稼ぎを計算する /// </summary> /// <returns>稼ぎ</returns> public Currency CalcEarnFromSatisfaction() { var satisfactionCalculater = new SatisfactionCalculater(playerOnegaiRepository); Satisfaction currentSatisfaction = satisfactionCalculater.CalcFieldSatisfaction(); Currency currency = new Currency((long)(currentSatisfaction.Value * DailyEarnCalculater.SatisfactionMultiRate)); return(currency); }
public Satisfaction CalcFieldSatisfaction() { Satisfaction satisfaction = new Satisfaction(0); satisfaction += GameManager.Instance.MonoManager.GetAllSatisfaction(); satisfaction += playerOnegaiRepository.GetAllSatisfaction(); return(satisfaction); }
public Satisfaction GetAllSatisfaction() { Satisfaction satisfaction = new Satisfaction(0); foreach (var monoViewModel in monoViewModels) { satisfaction += monoViewModel.GetCurrentSatisfaction(); } return(satisfaction); }
public Satisfaction GetAllSatisfaction() { Satisfaction allSatisfaction = new Satisfaction(0); foreach (var playerOnegaiModel in this.GetClear()) { allSatisfaction += playerOnegaiModel.OnegaiModel.Satisfaction; } return(allSatisfaction); }
public void SetCurrentChangeInfo(Currency currentCurrency, Currency nextCurrency, Satisfaction currentSatisfaction) { var deltaCurrency = nextCurrency - currentCurrency; this.dailyEndView.UpdateView( currentCurrency.ToString(), deltaCurrency.ToString(), nextCurrency.ToString(), currentSatisfaction.ToString(), DailyEarnCalculater.SatisfactionMultiRate.ToString(), "まあまあだね" ); }