仕入れチュートリアル対応
This commit is contained in:
parent
0cd9e21ffd
commit
e33effdb85
|
|
@ -91,14 +91,18 @@ public class ShopItemPurchaseView : MonoBehaviour
|
|||
currentCount.Value = 1;
|
||||
}
|
||||
|
||||
if (GameDataManager.GameData.isFirstPlay)
|
||||
// tutorial 所持金チェック
|
||||
if (!GameDataManager.GameData.FinishedFlags.HasFlag(TutorialFlag.Shopping))
|
||||
{
|
||||
// マスク表示
|
||||
var go = TutorialManager.Instance.ShowTutorialMask(transform.parent, purchaseOnButton.transform as RectTransform);
|
||||
purchaseOnButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
||||
if (GameDataManager.GameData.Coin >= data.shopData.price)
|
||||
{
|
||||
DestroyImmediate(go);
|
||||
}).AddTo(this);
|
||||
// マスク表示
|
||||
var go = TutorialManager.Instance.ShowTutorialMask(transform.parent, purchaseOnButton.transform as RectTransform);
|
||||
purchaseOnButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
||||
{
|
||||
DestroyImmediate(go);
|
||||
}).AddTo(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,20 @@ public class Shopping : MonoBehaviour
|
|||
|
||||
SoundManager.Instance.PlayBGM("bgm_shopping");
|
||||
var gameData = GameDataManager.GameData;
|
||||
|
||||
// 一覧データ
|
||||
var shopDataList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopData>(Const.ShopDataSheet);
|
||||
|
||||
// tutorial 所持金が指定アイテムの金額以上かどうかチェック
|
||||
var isTutorial = false;
|
||||
if (!gameData.FinishedFlags.HasFlag(TutorialFlag.Shopping))
|
||||
{
|
||||
if (gameData.Coin >= (shopDataList.FirstOrDefault(data => data.itemId == 2)?.price ?? 10))
|
||||
{
|
||||
isTutorial = true;
|
||||
}
|
||||
}
|
||||
|
||||
CoinManager.Instance.ChangeCoin(gameData.Coin);
|
||||
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
|
||||
|
||||
|
|
@ -36,8 +50,6 @@ public class Shopping : MonoBehaviour
|
|||
HeartMeter.Instance.AddHeart(pair.Current - pair.Previous);
|
||||
}).AddTo(this);
|
||||
|
||||
// 一覧データ
|
||||
var shopDataList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopData>(Const.ShopDataSheet);
|
||||
foreach (var shopData in shopDataList)
|
||||
{
|
||||
if (shopData.Category == ItemCategory.Special)
|
||||
|
|
@ -52,36 +64,28 @@ public class Shopping : MonoBehaviour
|
|||
{
|
||||
itemView.SetItemActive(shopData.price <= ownCoin);
|
||||
}).AddTo(this);
|
||||
var purchaseSubject = new Subject<int>();
|
||||
purchaseSubject.AddTo(itemView);
|
||||
purchaseSubject.Subscribe(amount =>
|
||||
{
|
||||
// アイテムを増やす
|
||||
AddItem(shopData, amount);
|
||||
itemView.SetStockCount(GetItemAmount(shopData));
|
||||
CoinManager.Instance.SubCoin(shopData.price * amount);
|
||||
gameData.Coin = CoinManager.Instance.OwnCoin;
|
||||
changeCoinSubject.OnNext(gameData.Coin);
|
||||
GameDataManager.SaveGameData();
|
||||
}).AddTo(itemView);
|
||||
// アイテム購入クリック購読
|
||||
itemView.PurchaseButtonObservable
|
||||
.ThrottleFirst(TimeSpan.FromSeconds(.3f))
|
||||
.Where(_ => shopData.price <= CoinManager.Instance.OwnCoin)
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
ShopItemPurchaseView.ShowDialog((shopData, GetItemAmount(shopData)), x =>
|
||||
ShopItemPurchaseView.ShowDialog((shopData, GetItemAmount(shopData)), amount =>
|
||||
{
|
||||
purchaseSubject.OnNext(x);
|
||||
if (gameData.isFirstPlay)
|
||||
// アイテムを増やす
|
||||
AddItem(shopData, amount);
|
||||
itemView.SetStockCount(GetItemAmount(shopData));
|
||||
CoinManager.Instance.SubCoin(shopData.price * amount);
|
||||
gameData.Coin = CoinManager.Instance.OwnCoin;
|
||||
changeCoinSubject.OnNext(gameData.Coin);
|
||||
GameDataManager.SaveGameData();
|
||||
|
||||
if (isTutorial)
|
||||
{
|
||||
TutorialManager.Instance.ShowTutorialConversation(6, () =>
|
||||
TutorialManager.Instance.ShowTutorialConversation(8, () =>
|
||||
{
|
||||
var go = FindObjectOfType<FooterManager>().transform;
|
||||
go.transform.FindChildByName("Button_Main", t =>
|
||||
{
|
||||
TutorialManager.Instance.ShowTutorialMask(go.parent, t as RectTransform, true);
|
||||
});
|
||||
gameData.FinishedFlags |= TutorialFlag.Shopping;
|
||||
GameDataManager.SaveGameData();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -96,10 +100,10 @@ public class Shopping : MonoBehaviour
|
|||
listView.SetTab(ItemCategory.Material);
|
||||
changeCoinSubject.OnNext(CoinManager.Instance.OwnCoin);
|
||||
|
||||
if (gameData.isFirstPlay)
|
||||
if (isTutorial)
|
||||
{
|
||||
listView.ScrollRect.vertical = false;
|
||||
TutorialManager.Instance.ShowTutorialConversation(5, () =>
|
||||
TutorialManager.Instance.ShowTutorialConversation(7, () =>
|
||||
{
|
||||
// マスク表示
|
||||
var view = listView.ScrollRect.content.GetChild(0).GetComponent<ShopItemView>();
|
||||
|
|
|
|||
Loading…
Reference in New Issue