大量注文達成エフェクト追加
This commit is contained in:
parent
1540c84cf1
commit
1fb642abf6
|
|
@ -114,9 +114,18 @@ public class BulkOrder : MonoBehaviour
|
|||
// 獲得
|
||||
var rarityList = SpreadsheetDataManager.Instance.GetBaseDataList<RarityData>(Const.RarityDataSheet);
|
||||
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.Heart += bulkOrderData.rewardHeart;
|
||||
/*
|
||||
* アニメーション終了後にハートを加算する
|
||||
* WaitAddHeartとMoveHeartは対で使うほうが処理がわかりやすいため
|
||||
* シーン遷移などでアニメーションが中断された場合に加算が実行されるようにしている
|
||||
*/
|
||||
gameData.WaitAddHeart += bulkOrderData.rewardHeart;
|
||||
HeartMeter.Instance.AddHeartForBulkOrder(heartPos, () =>
|
||||
{
|
||||
GameDataManager.GameData.MoveHeart(bulkOrderData.rewardHeart);
|
||||
});
|
||||
|
||||
// カウントリセット
|
||||
gameData.OrderConditionCount = 0;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using System.Diagnostics;
|
|||
using UniRx;
|
||||
using UniRx.Triggers;
|
||||
using UnityEngine;
|
||||
using Debug = UnityEngine.Debug;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace MyGame.Scenes.Main.Scripts
|
||||
|
|
@ -45,11 +46,13 @@ namespace MyGame.Scenes.Main.Scripts
|
|||
|
||||
public void PlayHeartEffect(Vector3 beginPos, Vector3 goalPos, Action onComplete = null)
|
||||
{
|
||||
// 最後のeffectが終わった後1度だけonComplete
|
||||
effectCompleteSubject.Take(heartCount).Subscribe(_ => { }, () =>
|
||||
// 最後のeffect終了時か、このオブジェクトが破棄された時に1度だけonCompleteが実行される
|
||||
effectCompleteSubject.Take(heartCount).Last()
|
||||
.Amb(this.OnDestroyAsObservable())
|
||||
.Subscribe(_ => { }, () =>
|
||||
{
|
||||
onComplete?.Invoke();
|
||||
}).AddTo(this);
|
||||
});
|
||||
Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(.1f))
|
||||
.Take(heartCount)
|
||||
.Subscribe(_ =>
|
||||
|
|
|
|||
Loading…
Reference in New Issue