大量注文達成エフェクト追加
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 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;
|
||||||
|
|
|
||||||
|
|
@ -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が終わった後1度だけonComplete
|
// 最後のeffect終了時か、このオブジェクトが破棄された時に1度だけ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(_ =>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue