Merge branch 'develop' of bitbucket.org:usaya/popcorn into develop

This commit is contained in:
hirokei 2021-09-21 17:49:11 +09:00
commit 9a8a01346c
21 changed files with 10883 additions and 10277 deletions

View File

@ -2671,7 +2671,7 @@ Material:
- _ColorMask: 15
- _CullMode: 0
- _Diffuse: 0.5
- _FaceDilate: 1
- _FaceDilate: 0.5
- _FaceUVSpeedX: 0
- _FaceUVSpeedY: 0
- _GlowInner: 0.05
@ -2688,9 +2688,9 @@ Material:
- _OutlineWidth: 1
- _PerspectiveFilter: 0.875
- _Reflectivity: 10
- _ScaleRatioA: 0.41142857
- _ScaleRatioB: 0
- _ScaleRatioC: 0
- _ScaleRatioA: 0.53333336
- _ScaleRatioB: 0.28125
- _ScaleRatioC: 0.28125
- _ScaleX: 1
- _ScaleY: 1
- _ShaderFlags: 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: d663be892806fa34aa7c02d60229aba5
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 40, y: 136, z: 237, w: 71}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: c7b0a686aead508458a3655665cf4abd
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,91 @@
using System;
using UniRx;
using UnityEngine;
using UnityEngine.UI;
public class CookingResult : MonoBehaviour
{
private static readonly string RarityTextFormat = "売値 {0}% UP";
[SerializeField] private GameObject smokeEffect;
[SerializeField] private GameObject glitterEffect;
[SerializeField] private Button centerOkButton;
[SerializeField] private Button perfectButton;
[SerializeField] private Button leftOkButton;
[SerializeField] private Button destructionButton;
[SerializeField] private Image popcornImage;
[SerializeField] private Text popcornText;
[SerializeField] private Text popcornTextPerfect;
[SerializeField] private Text rarityText;
[SerializeField] private RarityView rarityView;
[SerializeField] private GameObject detailObject;
[SerializeField] private GameObject explainObject;
[SerializeField] private GameObject explainWithRarityObject;
[SerializeField] private GameObject perfectResultObject;
[SerializeField] private GameObject goodResultObject;
[SerializeField] private GameObject failureResultObject;
private void Start()
{
var data = LocalCacheManager.Load<RecipeData>(PopcornGameManager.CookingDataTag);
var result = CornResult.Good;
SetResult(result);
SetUI(result);
// 各種ボタン押下後、獲得処理
centerOkButton.OnClickAsObservable().Subscribe(_ =>
{
// 獲得、遷移
TransitionManager.Instance.LoadScene(GameScenes.Main);
}).AddTo(this);
perfectButton.OnClickAsObservable().Subscribe(_ =>
{
// 広告視聴後、Perfect表示
TransitionManager.Instance.UnloadScene(GameScenes.CookingResults, () =>
{
// UIリセットでもええかも
TransitionManager.Instance.LoadSceneAdditive(GameScenes.CookingResults);
});
}).AddTo(this);
leftOkButton.OnClickAsObservable().Subscribe(_ =>
{
// 獲得、遷移
TransitionManager.Instance.LoadScene(GameScenes.Main);
}).AddTo(this);
destructionButton.OnClickAsObservable().Subscribe(_ =>
{
// 遷移
TransitionManager.Instance.LoadScene(GameScenes.Main);
}).AddTo(this);
}
private void SetData(RecipeData recipe, RarityData rarity)
{
// popcornImage
popcornText.text = recipe.Name;
popcornTextPerfect.text = recipe.Name;
rarityText.text = string.Format(RarityTextFormat, rarity.rate - 100);
rarityView.SetRarity(rarity.Rarity);
}
private void SetResult(CornResult result)
{
perfectResultObject.SetActive(result == CornResult.Perfect);
goodResultObject.SetActive(result == CornResult.Good);
failureResultObject.SetActive(result == CornResult.Failure);
}
private void SetUI(CornResult result)
{
smokeEffect.SetActive(result == CornResult.Failure);
glitterEffect.SetActive(result == CornResult.Perfect);
centerOkButton.gameObject.SetActive(result == CornResult.Perfect);
perfectButton.gameObject.SetActive(result != CornResult.Perfect);
leftOkButton.gameObject.SetActive(result == CornResult.Good);
destructionButton.gameObject.SetActive(result == CornResult.Failure);
detailObject.SetActive(result != CornResult.Failure);
explainObject.SetActive(result == CornResult.Good);
explainWithRarityObject.SetActive(result == CornResult.Perfect);
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 12f6d67a3ba04d5189bf823db2dfb8e1
timeCreated: 1631883651

View File

@ -15,12 +15,10 @@ public enum GameState
public class PopcornGameManager : MonoBehaviour
{
public static readonly string CookingDataTag = "CookingData";
// View
[SerializeField] private PopcornGameView gameView;
[SerializeField] private GameObject perfectResultObject;
[SerializeField] private GameObject goodResultObject;
[SerializeField] private GameObject failureResultObject;
[SerializeField] private ThermalControl thermalControl;
[SerializeField] private ThermoMeter thermoMeter;
[SerializeField] private CornManager cornManager;
@ -29,7 +27,6 @@ public class PopcornGameManager : MonoBehaviour
[SerializeField] private Button resetButton;
#endif
public IReadOnlyReactiveProperty<GameState> State => state;
private readonly ReactiveProperty<GameState> state = new ReactiveProperty<GameState>(GameState.Guide);
private readonly CompositeDisposable compositeDisposable = new CompositeDisposable();
@ -37,14 +34,36 @@ public class PopcornGameManager : MonoBehaviour
void Start()
{
compositeDisposable.AddTo(this);
state.AddTo(this);
thermalControl.Condition.Subscribe(x =>
{
cornManager.ChangeGrowSpeed(x);
gameView.ChangeCharactorState(x);
gameView.ChangeCharacterState(x);
}).AddTo(this);
state.Subscribe(x => cornManager.GameState.Value = x);
state.Subscribe(x =>
{
cornManager.GameState.Value = x;
gameView.ChangeUI(x);
switch (x)
{
case GameState.Guide:
thermalControl.ResetMeter();
cornManager.RespawnCorn();
thermoMeter.gameObject.SetActive(false);
break;
case GameState.Playing:
thermoMeter.gameObject.SetActive(true);
thermalControl.StartMeter();
break;
case GameState.Result:
thermalControl.StopMeter();
break;
default:
throw new ArgumentOutOfRangeException(nameof(x), x, null);
}
});
ResetGame();
@ -87,33 +106,22 @@ public class PopcornGameManager : MonoBehaviour
.Subscribe(x =>
{
state.Value = GameState.Result;
thermalControl.StopMeter();
gameView.ChangeCharactorState(ThermalCondition.Cold);
gameView.ChangeFireState(false);
gameView.ChangeStreamState(true);
// リザルト表示遅延
this.CallWaitForSeconds(1.2f, () =>
{
SetResult(x);
// popup
// CornResult
// 動画を見たあと、大成功にするための処理・・・?
// というか1つのシーンにしてしまうか
if (x != CornResult.Failure)
{
AddStock();
var recipe = LocalCacheManager.Load<RecipeData>(CookingDataTag);
AddStock(recipe);
}
// 画面タップで次へ
this.UpdateAsObservable()
.Select(_ => Input.GetMouseButton(0))
.DistinctUntilChanged()
.Skip(1)
.FirstOrDefault(b => b)
.DelaySubscription(TimeSpan.FromSeconds(1f))
.Subscribe(_ =>
{
// ResetGame();
TransitionManager.Instance.LoadScene(GameScenes.Main);
}).AddTo(compositeDisposable);
});
}).AddTo(compositeDisposable);
// 画面タップでスタート
this.UpdateAsObservable()
.Select(_ => Input.GetMouseButton(0))
.DistinctUntilChanged()
@ -121,56 +129,14 @@ public class PopcornGameManager : MonoBehaviour
.FirstOrDefault(b => b)
.Subscribe(_ =>
{
StartGame();
state.Value = GameState.Playing;
}).AddTo(compositeDisposable);
ResetUI();
thermalControl.ResetMeter();
cornManager.RespawnCorn();
state.Value = GameState.Guide;
}
private void ResetUI()
{
gameView.ResetUI();
perfectResultObject.SetActive(false);
goodResultObject.SetActive(false);
failureResultObject.SetActive(false);
thermalControl.StopMeter();
thermoMeter.gameObject.SetActive(false);
}
private void StartGame()
private void AddStock(RecipeData recipe)
{
gameView.ChangeGuideState(false);
gameView.ChangeFireState(true);
thermoMeter.gameObject.SetActive(true);
thermalControl.StartMeter();
state.Value = GameState.Playing;
}
private void SetResult(CornResult result)
{
switch (result)
{
case CornResult.Perfect:
perfectResultObject.SetActive(true);
break;
case CornResult.Good:
goodResultObject.SetActive(true);
break;
case CornResult.Failure:
failureResultObject.SetActive(true);
break;
default:
throw new ArgumentOutOfRangeException(nameof(result), result, null);
}
}
private void AddStock()
{
var recipe = LocalCacheManager.Load<RecipeData>(RecipeDetailView.DetailRecipeTag);
var gameData = GameDataManager.GameData;
// 店頭の空きに追加
var remain = recipe.Volume;

View File

@ -10,31 +10,47 @@ public class PopcornGameView : MonoBehaviour
[SerializeField] private GameObject characterSweat;
[SerializeField] private GameObject characterFlower;
public void ResetUI()
public void ChangeUI(GameState state)
{
ChangeGuideState(true);
ChangeFireState(false);
ChangeCharactorState(ThermalCondition.Cold);
ChangeStreamState(false);
switch (state)
{
case GameState.Guide:
ChangeGuideState(true);
ChangeFireState(false);
ChangeStreamState(false);
ChangeCharacterState(ThermalCondition.Cold);
break;
case GameState.Playing:
ChangeGuideState(false);
ChangeFireState(true);
break;
case GameState.Result:
ChangeFireState(false);
ChangeStreamState(true);
ChangeCharacterState(ThermalCondition.Cold);
break;
default:
throw new ArgumentOutOfRangeException(nameof(state), state, null);
}
}
public void ChangeGuideState(bool isActive)
private void ChangeGuideState(bool isActive)
{
startingGuide.SetActive(isActive);
}
public void ChangeFireState(bool isActive)
private void ChangeFireState(bool isActive)
{
fire.SetActive(isActive);
oilEffect.SetActive(isActive);
}
public void ChangeStreamState(bool isActive)
private void ChangeStreamState(bool isActive)
{
streamEffect.SetActive(isActive);
}
public void ChangeCharactorState(ThermalCondition condition)
public void ChangeCharacterState(ThermalCondition condition)
{
switch (condition)
{

View File

@ -0,0 +1,21 @@
using UnityEngine;
public class RarityView : MonoBehaviour
{
[SerializeField] private GameObject normalObject;
[SerializeField] private GameObject yellowObject;
[SerializeField] private GameObject copperObject;
[SerializeField] private GameObject silverObject;
[SerializeField] private GameObject goldObject;
[SerializeField] private GameObject rainbowObject;
public void SetRarity(ProductRarity rarity)
{
normalObject?.SetActive(rarity == ProductRarity.Normal);
yellowObject?.SetActive(rarity == ProductRarity.Yellow);
copperObject?.SetActive(rarity == ProductRarity.Copper);
silverObject?.SetActive(rarity == ProductRarity.Silver);
goldObject?.SetActive(rarity == ProductRarity.Gold);
rainbowObject?.SetActive(rarity == ProductRarity.Rainbow);
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 01738374a494495b82539c6ff39c1a3a
timeCreated: 1632196580

View File

@ -156,9 +156,10 @@ public class ThermalControl : MonoBehaviour
public void ResetMeter()
{
isMove = false;
temperatureSpeed = 0f;
temperature = 0f;
thermoMeter.SetValue(temperature);
temperatureSpeed = 0f;
SetMeterValue();
thermoMeter.SetScale(coldValue, hotValue);
panController.ResetTargetPosition();

View File

@ -76,20 +76,18 @@ public class CornField : MonoBehaviour
}
GameDataManager.SaveGameData();
// 収穫カウンター
var currentHarvestedCount = 0;
// 収穫カウンター+吸収演出
cornHarvester.FinishHarvested
.Scan((list, newList) => list.Concat(newList).ToList())
.Scan((list, newList) => (newList.count, list.colliders.Concat(newList.colliders).ToList()))
.Throttle(TimeSpan.FromSeconds(countThrottle))
.Take(1)
.RepeatUntilDestroy(this)
.Subscribe(x =>
{
var count = currentHarvestedCount;
var colliders = x.colliders;
// カゴ外のやつ分ける
var destroyList = x.Where(c => c.enabled == false).ToList();
var stayList = x.Except(destroyList).ToList();
var destroyList = colliders.Where(c => c.enabled == false).ToList();
var stayList = colliders.Except(destroyList).ToList();
// 間引く
var animationList = stayList.RandomChoose(animationLimit);
// 間引かれた分は破棄
@ -117,7 +115,7 @@ public class CornField : MonoBehaviour
});
this.CallWaitForSeconds(animationDuration, () =>
{
counterView.SetHarvestedCount(count);
counterView.SetHarvestedCount(x.count);
});
}).AddTo(this);
// 株設定
@ -137,34 +135,33 @@ public class CornField : MonoBehaviour
seedling.SetSeedlingGene(lineData.Seedlings[index].FirstTime, lineData.Seedlings[index].Period / 3, lineData.Seedlings[index].Level);
}
#endif
// 収穫通知
seedling.Harvested.Subscribe(_ =>
{
// 収穫
VibrationManager.Instance.PlayVibrationOnce();
var harvestCount = GetHarvestCount(lineData.Seedlings[index].Level);
var harvestedCorn = GetHarvestedCornCount(gameData.MachineLevel);
gameData.cornSeed += harvestedCorn * harvestCount;
currentHarvestedCount += harvestedCorn * harvestCount;
var seedlingTransform = seedling.transform;
for (int j = 0; j < harvestCount; j++)
{
// 株の位置調整
var pos = seedlingTransform.position;
if (harvestCount > 1)
{
pos += Vector3.right * (j - 1) * harvestedDistance + Vector3.forward * (j - 1);
}
// 複数株
this.CallWaitForFrame(harvestedFrameInterval * j, () =>
{
var harvestAnimation = Instantiate(harvestPrefab, pos, Quaternion.identity, seedlingTransform);
var beginPos = harvestAnimation.transform.position;
this.CallWaitForSeconds(.5f, () =>
{
this.CallLerp(.4f, f =>
{
harvestAnimation.transform.position = Vector3.Lerp(beginPos, harvestInsertPosition.position, f.EaseInQuadratic());
harvestAnimation.transform.position = Vector3.Lerp(pos, harvestInsertPosition.position, f.EaseInQuadratic());
}, () =>
{
// コーン排出
cornHarvester.AddCount(harvestedCorn);
Destroy(harvestAnimation);
});

View File

@ -15,8 +15,8 @@ public class CornHarvester : MonoBehaviour
private int maxCorn = 100; // 収穫演出で出るコーンの数を制限
private readonly ReactiveProperty<int> count = new ReactiveProperty<int>(0);
private readonly Subject<List<Collider2D>> finishHarvested = new Subject<List<Collider2D>>();
public Subject<List<Collider2D>> FinishHarvested => finishHarvested;
private readonly Subject<(int count, List<Collider2D> colliders)> finishHarvested = new Subject<(int count, List<Collider2D> colliders)>();
public Subject<(int count, List<Collider2D> colliders)> FinishHarvested => finishHarvested;
private void Start()
{
@ -27,11 +27,14 @@ public class CornHarvester : MonoBehaviour
.Pairwise()
.Subscribe(x =>
{
StartCoroutine(Harvested(Mathf.Min(maxCorn, x.Current - x.Previous)));
StartCoroutine(Harvested(Mathf.Min(maxCorn, x.Current - x.Previous), (list) =>
{
finishHarvested.OnNext((x.Current, list));
}));
}).AddTo(this);
}
private IEnumerator Harvested(int cnt)
private IEnumerator Harvested(int cnt, Action<List<Collider2D>> callback = null)
{
var finishedList = new List<Collider2D>();
for (int i = 0; i < cnt; i++)
@ -41,7 +44,7 @@ public class CornHarvester : MonoBehaviour
finishedList.Add(corn.GetComponent<Collider2D>());
yield return null;
}
finishHarvested.OnNext(finishedList);
callback?.Invoke(finishedList);
}
public void AddCount(int value)

View File

@ -121,6 +121,80 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &25014320
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 25014321}
- component: {fileID: 25014323}
- component: {fileID: 25014322}
m_Layer: 5
m_Name: frame
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &25014321
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 25014320}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1464412874}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -1.0000129, y: -6.9999743}
m_SizeDelta: {x: 700, y: 242}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &25014322
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 25014320}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_Maskable: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: d663be892806fa34aa7c02d60229aba5, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &25014323
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 25014320}
m_CullTransparentMesh: 0
--- !u!1 &138926717
GameObject:
m_ObjectHideFlags: 0
@ -234,6 +308,84 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &255490368
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 255490369}
- component: {fileID: 255490371}
- component: {fileID: 255490370}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &255490369
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 255490368}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1464412874}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 5}
m_SizeDelta: {x: 650, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &255490370
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 255490368}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.43137258, g: 0.29803923, b: 0.19215688, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: b5532e9ce15694f55a0893a76a98cd78, type: 3}
m_FontSize: 28
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 40
m_Alignment: 1
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1.3
m_Text: "\u30BF\u30F3\u30AF\u304C\u3044\u3063\u3071\u3044\u3067\u4F5C\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u2026\r\n\u3059\u3050\u306B\u7A7A\u304D\u3092\u4F5C\u308A\u305F\u3044\u5834\u5408\u306F\u8A66\u98DF\u3092\u4F7F\u3063\u3066\u307F\u3088\u3046\uFF01"
--- !u!222 &255490371
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 255490368}
m_CullTransparentMesh: 0
--- !u!1 &269597408
GameObject:
m_ObjectHideFlags: 0
@ -1678,6 +1830,7 @@ RectTransform:
- {fileID: 1626721124}
- {fileID: 2135558976}
- {fileID: 1160535647}
- {fileID: 1464412874}
m_Father: {fileID: 1036314251}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -1955,6 +2108,80 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1109202677}
m_CullTransparentMesh: 0
--- !u!1 &1125711447
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1125711448}
- component: {fileID: 1125711450}
- component: {fileID: 1125711449}
m_Layer: 5
m_Name: title
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1125711448
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1125711447}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1464412874}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -1, y: 105}
m_SizeDelta: {x: 406, y: 52}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1125711449
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1125711447}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: c7b0a686aead508458a3655665cf4abd, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1125711450
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1125711447}
m_CullTransparentMesh: 0
--- !u!1 &1157984678
GameObject:
m_ObjectHideFlags: 0
@ -2407,6 +2634,44 @@ GameObject:
type: 3}
m_PrefabInstance: {fileID: 1408233925}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1464412873
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1464412874}
m_Layer: 5
m_Name: FlameCaution
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &1464412874
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1464412873}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 25014321}
- {fileID: 1125711448}
- {fileID: 255490369}
m_Father: {fileID: 1001521034}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -7.600019, y: -212.99998}
m_SizeDelta: {x: 710, y: 270}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1484296443
GameObject:
m_ObjectHideFlags: 0

View File

@ -6,7 +6,6 @@ using UnityEngine.UI;
public class RecipeDetailView : MonoBehaviour
{
public static readonly string DetailRecipeTag = "RecipeData";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
@ -28,7 +27,7 @@ public class RecipeDetailView : MonoBehaviour
private void Start()
{
var data = LocalCacheManager.Load<RecipeData>(DetailRecipeTag);
var data = LocalCacheManager.Load<RecipeData>(PopcornGameManager.CookingDataTag);
cancelButton.OnClickAsObservable().Subscribe(_ =>
{

View File

@ -30,7 +30,7 @@ public class RecipeSelectDialog : MonoBehaviour
view.SetLockPanel(false);
view.RecipeClickObservable.Subscribe(_ =>
{
LocalCacheManager.Save(RecipeDetailView.DetailRecipeTag, recipeData);
LocalCacheManager.Save(PopcornGameManager.CookingDataTag, recipeData);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.RecipeChoice);
}).AddTo(this);
}

View File

@ -8,6 +8,7 @@ public enum GameScenes
{
Main,
Cooking,
CookingResults,
CornField,
Recipe,
RecipeChoice,

View File

@ -17,6 +17,9 @@ EditorBuildSettings:
- enabled: 1
path: Assets/MyGame/Scenes/Cooking/Cooking.unity
guid: 505f6fca18c0c4a769e89c86a9a1f5b5
- enabled: 1
path: Assets/MyGame/Scenes/Cooking/CookingResults.unity
guid: c3b63388aa238ca4cbe0de288bdbfa9c
- enabled: 1
path: Assets/MyGame/Scenes/CornField/CornField.unity
guid: 7ee833196453c8045b9ec713662ccf4e