private void OrderMouseIfSelect() { if (!GameManager.Instance.ArrangementManager.ArrangementAnnotater.IsSelectByFrame) { return; } var currentTarget = GameManager.Instance.ArrangementManager.ArrangementAnnotater.GetCurrentTarget(); if (!GameManager.Instance.ArrangementManager.IsSetArrangement(currentTarget)) { return; } var makingMono = GameManager.Instance.MonoSelectManager.SelectedMonoInfo; var makingArrangementResourceAmount = makingMono.ArrangementResourceAmount; var result = ArrangementResourceHelper.IsConsume(makingArrangementResourceAmount); if (!result.IsConsume) { GameManager.Instance.EffectManager.PlayError(result.GetErrorMessage(), currentTarget.CenterPosition); return; } // 追加して予約する var playerArrangementTarget = this.arrangementTargetCreateService.Execute(currentTarget); this.reserveArrangementService.Execute(playerArrangementTarget, makingMono); }
public static void Consume(ArrangementResourceAmount amount) { var isConsumeResult = ArrangementResourceHelper.IsConsume(amount, false); Debug.Assert(isConsumeResult.IsConsume, isConsumeResult.SystemErrorMessage); GameManager.Instance.Wallet.Consume(amount.Currency); GameManager.Instance.ArrangementItemStore.Consume(amount.ArrangementItemAmount); }
public void Execute(IPlayerArrangementTarget arrangementTarget, MonoInfo monoInfo) { // プレイヤー情報の変更 arrangementTarget.RegisterMaking(monoInfo); playerArrangementTargetRepository.Store(arrangementTarget.PlayerArrangementTargetModel); // 予約 ArrangementResourceHelper.ReserveConsume(arrangementTarget.MonoInfo.ArrangementResourceAmount); GameManager.Instance.ArrangementManager.AddArrangement(arrangementTarget); }
private bool IsEnable(PlayerMonoInfo playerMonoInfo) { if (!playerMonoInfo.IsRelease) { return(true); } if (!ArrangementResourceHelper.IsConsume(playerMonoInfo.MonoInfo.ArrangementResourceAmount).IsConsume) { return(false); } return(true); }
public void Execute() { ArrangementResourceHelper.ConsumeReserve(); var reserveArrangementTarget = GameManager.Instance.ArrangementManager.ArrangementTargetStore .Where(target => target.ArrangementTargetState == ArrangementTargetState.Reserve) .ToList(); foreach (var arrangementTarget in reserveArrangementTarget) { arrangementTarget.ToAppear(); this.playerArrangementTargetRepository.Store(arrangementTarget.PlayerArrangementTargetModel); GameManager.Instance.MouseStockManager.OrderMouse(arrangementTarget); } GameManager.Instance.ArrangementPresenter.ReLoad(); }
public void Execute(IPlayerArrangementTarget arrangementTarget) { // 予約状況からも削除 ArrangementResourceHelper.UnReserveConsume(arrangementTarget.MonoInfo.ArrangementResourceAmount); GameManager.Instance.ArrangementManager.RemoveArranement(arrangementTarget); }