大量注文達成エフェクト追加

This commit is contained in:
kimura 2022-02-09 15:30:09 +09:00
parent 1540c84cf1
commit 1fb642abf6
2 changed files with 19 additions and 7 deletions

View File

@ -114,9 +114,18 @@ public class BulkOrder : MonoBehaviour
// 獲得 // 獲得
var rarityList = SpreadsheetDataManager.Instance.GetBaseDataList<RarityData>(Const.RarityDataSheet); var rarityList = SpreadsheetDataManager.Instance.GetBaseDataList<RarityData>(Const.RarityDataSheet);
var bonus = CalcBonus(rarityList, gameData.CompletedProductList, bulkOrderData.rewardHeart); var bonus = CalcBonus(rarityList, gameData.CompletedProductList, bulkOrderData.rewardHeart);
CoinManager.Instance.AddCoin(bulkOrderData.rewardCoin + bonus); CoinManager.Instance.AddCoinForBulkOrder(bulkOrderData.retryCondition + bonus, coinPos);
gameData.Coin = CoinManager.Instance.OwnCoin; gameData.Coin = CoinManager.Instance.OwnCoin;
gameData.Heart += bulkOrderData.rewardHeart; /*
*
* WaitAddHeartとMoveHeartは対で使うほうが処理がわかりやすいため
*
*/
gameData.WaitAddHeart += bulkOrderData.rewardHeart;
HeartMeter.Instance.AddHeartForBulkOrder(heartPos, () =>
{
GameDataManager.GameData.MoveHeart(bulkOrderData.rewardHeart);
});
// カウントリセット // カウントリセット
gameData.OrderConditionCount = 0; gameData.OrderConditionCount = 0;

View File

@ -3,6 +3,7 @@ using System.Diagnostics;
using UniRx; using UniRx;
using UniRx.Triggers; using UniRx.Triggers;
using UnityEngine; using UnityEngine;
using Debug = UnityEngine.Debug;
using Random = UnityEngine.Random; using Random = UnityEngine.Random;
namespace MyGame.Scenes.Main.Scripts namespace MyGame.Scenes.Main.Scripts
@ -45,11 +46,13 @@ namespace MyGame.Scenes.Main.Scripts
public void PlayHeartEffect(Vector3 beginPos, Vector3 goalPos, Action onComplete = null) public void PlayHeartEffect(Vector3 beginPos, Vector3 goalPos, Action onComplete = null)
{ {
// 最後のeffectが終わった後度だけonComplete // 最後のeffect終了時か、このオブジェクトが破棄された時に度だけonCompleteが実行される
effectCompleteSubject.Take(heartCount).Subscribe(_ => { }, () => effectCompleteSubject.Take(heartCount).Last()
{ .Amb(this.OnDestroyAsObservable())
onComplete?.Invoke(); .Subscribe(_ => { }, () =>
}).AddTo(this); {
onComplete?.Invoke();
});
Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(.1f)) Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(.1f))
.Take(heartCount) .Take(heartCount)
.Subscribe(_ => .Subscribe(_ =>