大量注文達成エフェクト追加
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(_ => { }, () => | ||||
|             { | ||||
|                 onComplete?.Invoke(); | ||||
|             }).AddTo(this); | ||||
|             // 最後のeffect終了時か、このオブジェクトが破棄された時に1度だけonCompleteが実行される | ||||
|             effectCompleteSubject.Take(heartCount).Last() | ||||
|             .Amb(this.OnDestroyAsObservable()) | ||||
|             .Subscribe(_ => { }, () => | ||||
|                 { | ||||
|                     onComplete?.Invoke(); | ||||
|                 }); | ||||
|             Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(.1f)) | ||||
|                 .Take(heartCount) | ||||
|                 .Subscribe(_ => | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue