キッチンチュートリアル1追加

This commit is contained in:
kimura 2021-10-26 12:31:01 +09:00
parent 4728b6e25d
commit be61ac5532
3 changed files with 74 additions and 8 deletions

View File

@ -22,15 +22,52 @@ public class KitchenManager : MonoBehaviour
// Start is called before the first frame update // Start is called before the first frame update
void Start() void Start()
{ {
// レシピの表示
cookingButton.OnClickAsObservable().Subscribe(_ =>
{
LocalCacheManager.Remove(Const.ProductViewTypeTag);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Recipe);
});
SoundManager.Instance.PlayBGM("bgm_Main"); SoundManager.Instance.PlayBGM("bgm_Main");
var gameData = GameDataManager.GameData; var gameData = GameDataManager.GameData;
// レシピの表示
cookingButton.OnClickAsObservable().Subscribe(_ =>
{
RecipeSelectDialog.ShowDialog(ProductViewType.Default, () =>
{
if (gameData.isFirstPlay)
{
var go = FindObjectOfType<FooterManager>().transform;
go.transform.FindChildByName("Button_field", t =>
{
TutorialManager.Instance.ShowTutorialMask(go.parent, t as RectTransform);
});
}
});
});
// tutorial
#if UNITY_EDITOR
Debug.Log($"isFirstPlay:{gameData.isFirstPlay}");
#endif
if (gameData.isFirstPlay)
{
gameData.CornSeed = 90;
gameData.Coin = 10;
// 店舗レベル1達成表示
LocalCacheManager.Save(ShopLevelUp.DataTag, 1);
LocalCacheManager.Save(ShopLevelUp.CallbackTag, new Action(() =>
{
TutorialManager.Instance.ShowTutorialConversation(1, () =>
{
// マスク表示
var buttonRectTransform = cookingButton.transform as RectTransform;
var go = TutorialManager.Instance.ShowTutorialMask(buttonRectTransform.parent, buttonRectTransform);
cookingButton.OnClickAsObservable().Take(1).Subscribe(_ =>
{
DestroyImmediate(go);
}).AddTo(this);
});
}));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.StoreLevel);
}
CoinManager.Instance.ChangeCoin(gameData.Coin); CoinManager.Instance.ChangeCoin(gameData.Coin);
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart); HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
GameDataObserver.Instance.ShopLevelUpdate GameDataObserver.Instance.ShopLevelUpdate

View File

@ -41,6 +41,17 @@ public class RecipeDetailView : MonoBehaviour
ColorUtility.TryParseHtmlString(Const.RedColorString, out redColor); ColorUtility.TryParseHtmlString(Const.RedColorString, out redColor);
var viewType = LocalCacheManager.Load(Const.ProductViewTypeTag, ProductViewType.Default); var viewType = LocalCacheManager.Load(Const.ProductViewTypeTag, ProductViewType.Default);
var data = LocalCacheManager.Load<ProductData>(PopcornGameManager.CookingDataTag); var data = LocalCacheManager.Load<ProductData>(PopcornGameManager.CookingDataTag);
var gameData = GameDataManager.GameData;
if (gameData.isFirstPlay)
{
TutorialManager.Instance.ShowTutorialConversation(2, () =>
{
LocalCacheManager.Load<Action>(CallbackTag, null)?.Invoke();
TransitionManager.Instance.UnloadScene(GameScenes.RecipeChoice);
TransitionManager.Instance.UnloadScene(GameScenes.Recipe);
});
}
cancelButton.OnClickAsObservable().Subscribe(_ => cancelButton.OnClickAsObservable().Subscribe(_ =>
{ {
@ -57,7 +68,6 @@ public class RecipeDetailView : MonoBehaviour
{ {
LocalCacheManager.Save(PopcornGameManager.PanDataTag, panSelector.SelectedPanData.Value); LocalCacheManager.Save(PopcornGameManager.PanDataTag, panSelector.SelectedPanData.Value);
// 消費 // 消費
var gameData = GameDataManager.GameData;
gameData.CornSeed -= data.MaterialList[0].amount; gameData.CornSeed -= data.MaterialList[0].amount;
if (gameData.Material.FirstOrDefault(x => x.Id == data.MaterialList[1].id) is MaterialData material1) if (gameData.Material.FirstOrDefault(x => x.Id == data.MaterialList[1].id) is MaterialData material1)
{ {

View File

@ -59,7 +59,13 @@ public class RecipeSelectDialog : MonoBehaviour
view.RecipeClickObservable.Subscribe(_ => view.RecipeClickObservable.Subscribe(_ =>
{ {
LocalCacheManager.Save(PopcornGameManager.CookingDataTag, productData); LocalCacheManager.Save(PopcornGameManager.CookingDataTag, productData);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.RecipeChoice); RecipeDetailView.ShowDialog(() =>
{
if (gameData.isFirstPlay)
{
LocalCacheManager.Load<Action>(CallbackTag, null)?.Invoke();
}
});
}).AddTo(this); }).AddTo(this);
} }
else else
@ -69,6 +75,19 @@ public class RecipeSelectDialog : MonoBehaviour
} }
LayoutRebuilder.ForceRebuildLayoutImmediate(content); LayoutRebuilder.ForceRebuildLayoutImmediate(content);
scrollRect.verticalNormalizedPosition = 1; scrollRect.verticalNormalizedPosition = 1;
if (gameData.isFirstPlay)
{
scrollRect.vertical = false;
// マスク表示
var view = content.GetChild(0).GetComponent<RecipeView>();
var viewRectTransform = view.transform.GetChild(0) as RectTransform;
var go = TutorialManager.Instance.ShowTutorialMask(transform.parent, viewRectTransform);
view.RecipeClickObservable.Take(1).Subscribe(_ =>
{
DestroyImmediate(go);
}).AddTo(this);
}
} }
public static void ShowDialog(ProductViewType type, Action onClose = null) public static void ShowDialog(ProductViewType type, Action onClose = null)