Merge branch 'feature/1.2.1' into feature/1.3.0

This commit is contained in:
kimura 2022-05-02 11:30:33 +09:00
commit 19211c7bc6
64 changed files with 1793 additions and 333 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1 +1 @@
pxle/UKyGAcy2Asz/xIh6pTWT4GztIQW9Xc2zatInXG8nxE5BVKuR/QLbEiM3PCw
ya1yPjvcsaALbXyIEiomWesLYNDMnMpBOCrbCjrUDcFpotenXF/LRTVN3yKbzGnj

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,127 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &7293390095564164939
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_AnchorMax.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_AnchorMin.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_SizeDelta.x
value: 56
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_SizeDelta.y
value: 56
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7695150006707541572, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8081510323215557737, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_Name
value: tank
objectReference: {fileID: 0}
- target: {fileID: 8405059258981650115, guid: 21933a027d6844d1b8213bf5192430ac,
type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 7377ceb58a42a41468de8292c46bc83e,
type: 3}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 21933a027d6844d1b8213bf5192430ac, type: 3}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 71bd1f5bbbd6746beb8118f0f8a633da
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -506,18 +506,6 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!114 &390540611 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 2152797965052096507, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
m_PrefabInstance: {fileID: 657773245}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &404298883
GameObject:
m_ObjectHideFlags: 0
@ -1729,6 +1717,16 @@ PrefabInstance:
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5780529271574476149, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
propertyPath: gameManager
value:
objectReference: {fileID: 1870432533}
- target: {fileID: 5780529271574476149, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
propertyPath: thermalControl
value:
objectReference: {fileID: 1870432535}
- target: {fileID: 5969116567130955788, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
propertyPath: m_AnchorMax.y
@ -1874,66 +1872,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &657773250 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 4493661992505599346, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
m_PrefabInstance: {fileID: 657773245}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &657773251 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 4035365465071032020, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
m_PrefabInstance: {fileID: 657773245}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &657773252 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 6405201674218417112, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
m_PrefabInstance: {fileID: 657773245}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &657773253 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1930711677042961620, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
m_PrefabInstance: {fileID: 657773245}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &657773254 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 2446509828538118658, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
m_PrefabInstance: {fileID: 657773245}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &657773255 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 390509818088476977, guid: b0a57f0d9e5524e579cad0309e9d44d1,
@ -2796,18 +2734,6 @@ Animator:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorControllerStateOnDisable: 0
--- !u!114 &1028629823 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 8798175650031291884, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
m_PrefabInstance: {fileID: 657773245}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1095273984
GameObject:
m_ObjectHideFlags: 0
@ -3951,18 +3877,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &1665053976 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 462546169576730945, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
m_PrefabInstance: {fileID: 657773245}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1673325601
GameObject:
m_ObjectHideFlags: 0
@ -4395,7 +4309,9 @@ MonoBehaviour:
thermalControl: {fileID: 1870432535}
thermoMeter: {fileID: 1928679192}
cornManager: {fileID: 1870432536}
resetButton: {fileID: 390540611}
panColliderChanger: {fileID: 2137549896}
gameProgress: 0
resultDelay: 1.8
--- !u!4 &1870432534
Transform:
m_ObjectHideFlags: 0
@ -4435,14 +4351,6 @@ MonoBehaviour:
maxDecreaseSpeed: 0.1
yellowSize: 0.3
randomRange: 0.2
factorSlider: {fileID: 657773254}
deadZoneSlider: {fileID: 657773253}
baseSpeedSlider: {fileID: 657773252}
coldSpeedSlider: {fileID: 1995319247}
hotSpeedSlider: {fileID: 657773251}
decreaseSpeedSlider: {fileID: 657773250}
yellowSizeSlider: {fileID: 1028629823}
randomRangeSlider: {fileID: 1665053976}
--- !u!114 &1870432536
MonoBehaviour:
m_ObjectHideFlags: 0
@ -4472,6 +4380,8 @@ MonoBehaviour:
cornPopSpeed: 30
screenKoProbability: 0.2
maxScreenKoCount: 1
willFinishValue: 0.798
cornAddCount: 50
cornCountSlider: {fileID: 657773260}
faildCountSlider: {fileID: 657773259}
coldGrowSpeedSlider: {fileID: 1661453984}
@ -4704,18 +4614,6 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 1933828729}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1995319247 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 543610246068091086, guid: b0a57f0d9e5524e579cad0309e9d44d1,
type: 3}
m_PrefabInstance: {fileID: 657773245}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &2055584752
GameObject:
m_ObjectHideFlags: 0
@ -5011,6 +4909,18 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 2137549891}
m_PrefabAsset: {fileID: 0}
--- !u!114 &2137549896 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 6144151140781756319, guid: b6b05cbc51c744ac2ad95a8b229d4ddd,
type: 3}
m_PrefabInstance: {fileID: 2137549891}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0921292620c649ef8f75f013ff51c349, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &2603874726320550220
GameObject:
m_ObjectHideFlags: 0

View File

@ -33,7 +33,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.25}
m_AnchorMax: {x: 1, y: 0.75}
m_AnchoredPosition: {x: -5.0000305, y: 0}
m_AnchoredPosition: {x: -5.000061, y: 0}
m_SizeDelta: {x: -20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &2876606376949105246
@ -67,7 +67,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 4479773526412999563}
- {fileID: 9206954437394057716}
- {fileID: 9143851948024293878}
- {fileID: 3009159661648502780}
m_Father: {fileID: 0}
m_RootOrder: 0
@ -75,7 +75,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 900, y: 100}
m_SizeDelta: {x: 900, y: 110}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &491621608902190462
MonoBehaviour:
@ -90,7 +90,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
text: {fileID: 1095104764996803417}
value: {fileID: 72149009873864757}
inputField: {fileID: 897396180863686974}
slider: {fileID: 3475518114244289108}
minValue: 0
maxValue: 0
@ -131,6 +131,146 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &3274499932230645930
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9143851948024293878}
- component: {fileID: 3419366076015106744}
- component: {fileID: 590428595889232007}
- component: {fileID: 897396180863686974}
m_Layer: 0
m_Name: InputField
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &9143851948024293878
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3274499932230645930}
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: 619926225662647783}
m_Father: {fileID: 74534877661002025}
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: 150.47, y: 0}
m_SizeDelta: {x: 559.05005, y: 91.47}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3419366076015106744
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3274499932230645930}
m_CullTransparentMesh: 0
--- !u!114 &590428595889232007
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3274499932230645930}
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: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
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!114 &897396180863686974
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3274499932230645930}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 590428595889232007}
m_TextComponent: {fileID: 3432115779824197160}
m_Placeholder: {fileID: 0}
m_ContentType: 3
m_InputType: 0
m_AsteriskChar: 42
m_KeyboardType: 2
m_LineType: 0
m_HideMobileInput: 0
m_CharacterValidation: 2
m_CharacterLimit: 0
m_OnEndEdit:
m_PersistentCalls:
m_Calls: []
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_CustomCaretColor: 0
m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
m_Text: 0.000000
m_CaretBlinkRate: 0.85
m_CaretWidth: 1
m_ReadOnly: 0
m_ShouldActivateOnSelect: 1
--- !u!1 &3826102410214529843
GameObject:
m_ObjectHideFlags: 0
@ -166,7 +306,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 20, y: 0}
m_SizeDelta: {x: 300, y: -10}
m_SizeDelta: {x: 270.56714, y: -10}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &3190204835267579441
CanvasRenderer:
@ -209,7 +349,7 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: TextTestTextTest
--- !u!1 &5987920068234996123
--- !u!1 &6223501935553774239
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -217,50 +357,50 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9206954437394057716}
- component: {fileID: 2057185061937190269}
- component: {fileID: 72149009873864757}
- component: {fileID: 619926225662647783}
- component: {fileID: 538406132838563980}
- component: {fileID: 3432115779824197160}
m_Layer: 0
m_Name: Value
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &9206954437394057716
--- !u!224 &619926225662647783
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5987920068234996123}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_GameObject: {fileID: 6223501935553774239}
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: 74534877661002025}
m_RootOrder: 1
m_Father: {fileID: 9143851948024293878}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -400, y: 0}
m_SizeDelta: {x: 150, y: 50}
m_Pivot: {x: 1, y: 0.5}
--- !u!222 &2057185061937190269
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -0.5000038}
m_SizeDelta: {x: -20, y: -13}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &538406132838563980
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5987920068234996123}
m_GameObject: {fileID: 6223501935553774239}
m_CullTransparentMesh: 0
--- !u!114 &72149009873864757
--- !u!114 &3432115779824197160
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5987920068234996123}
m_GameObject: {fileID: 6223501935553774239}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
@ -275,18 +415,18 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontSize: 70
m_FontStyle: 0
m_BestFit: 1
m_MinSize: 10
m_MaxSize: 100
m_Alignment: 3
m_MinSize: 3
m_MaxSize: 300
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_RichText: 0
m_HorizontalOverflow: 1
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 0000
m_Text: 0.000000
--- !u!1 &6757487088329549315
GameObject:
m_ObjectHideFlags: 0
@ -413,7 +553,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &3009159661648502780
RectTransform:
m_ObjectHideFlags: 0
@ -434,7 +574,7 @@ RectTransform:
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -20, y: 0}
m_SizeDelta: {x: 368.73462, y: 63.7}
m_SizeDelta: {x: 318.0871, y: 63.7}
m_Pivot: {x: 1, y: 0.5}
--- !u!114 &3475518114244289108
MonoBehaviour:
@ -519,7 +659,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@ -593,7 +733,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 200, y: 0}
m_Pivot: {x: 0.5, y: 0.5}

File diff suppressed because it is too large Load Diff

View File

@ -9741,6 +9741,170 @@ ParticleSystemRenderer:
m_Mesh2: {fileID: 0}
m_Mesh3: {fileID: 0}
m_MaskInteraction: 0
--- !u!1 &2172530787014104870
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3756107145556210927}
- component: {fileID: 8695774672704424618}
m_Layer: 0
m_Name: PanEdge Top Finish
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3756107145556210927
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2172530787014104870}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.38, y: -0.03, z: 0}
m_LocalScale: {x: 102.03828, y: 110.093575, z: 85.63402}
m_Children: []
m_Father: {fileID: 3218397595738205000}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!68 &8695774672704424618
EdgeCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2172530787014104870}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 6200000, guid: 440db2e8ae6ea41b792d56600b0532f3, type: 2}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_EdgeRadius: 2.61
m_Points:
- {x: -0.06249666, y: 0.008998046}
- {x: -0.0523351, y: 0.028039727}
- {x: -0.041206434, y: 0.03511869}
- {x: -0.015046993, y: 0.05204403}
- {x: 0.017697936, y: 0.05248006}
- {x: 0.036029074, y: 0.044425998}
- {x: 0.058061335, y: 0.025281195}
- {x: 0.06824917, y: 0.0029303213}
--- !u!1 &2772421931217617868
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7252290375963454523}
- component: {fileID: 6422771557208889528}
m_Layer: 0
m_Name: PanEdge Top Will Finish
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7252290375963454523
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2772421931217617868}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.38, y: -0.03, z: 0}
m_LocalScale: {x: 102.03828, y: 110.093575, z: 85.63402}
m_Children: []
m_Father: {fileID: 3218397595738205000}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!68 &6422771557208889528
EdgeCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2772421931217617868}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 6200000, guid: 440db2e8ae6ea41b792d56600b0532f3, type: 2}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_EdgeRadius: 2.61
m_Points:
- {x: -0.06249666, y: 0.008998046}
- {x: -0.051591836, y: 0.025973067}
- {x: -0.027804706, y: 0.042549714}
- {x: 0.0025015222, y: 0.04699563}
- {x: 0.038333848, y: 0.04032514}
- {x: 0.058061335, y: 0.025281195}
- {x: 0.06824917, y: 0.0029303213}
--- !u!1 &5939863161591235221
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4694130269973048913}
- component: {fileID: 71968105059914684}
m_Layer: 0
m_Name: PanEdge Bottom
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4694130269973048913
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5939863161591235221}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.38, y: -0.78, z: 0}
m_LocalScale: {x: 102.03828, y: 110.093575, z: 85.63402}
m_Children: []
m_Father: {fileID: 3218397595738205000}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!68 &71968105059914684
EdgeCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5939863161591235221}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 6200000, guid: 440db2e8ae6ea41b792d56600b0532f3, type: 2}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_EdgeRadius: 2.61
m_Points:
- {x: 0.07831237, y: 0.0019857544}
- {x: 0.0508193, y: -0.020667206}
- {x: 0.035089638, y: -0.028409138}
- {x: 0.012053529, y: -0.034262266}
- {x: -0.017523682, y: -0.031982258}
- {x: -0.04153408, y: -0.023042984}
- {x: -0.060010493, y: -0.009420026}
- {x: -0.06249666, y: 0.008998046}
--- !u!1 &6031284905392100201
GameObject:
m_ObjectHideFlags: 0
@ -9750,6 +9914,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 3218397595738205000}
- component: {fileID: 6144151140781756319}
m_Layer: 0
m_Name: PanCollider
m_TagString: Untagged
@ -9771,9 +9936,84 @@ Transform:
- {fileID: 1453251557352552632}
- {fileID: 746482762447314123}
- {fileID: 1453251556405238013}
- {fileID: 2437908282195913342}
- {fileID: 7252290375963454523}
- {fileID: 3756107145556210927}
- {fileID: 4694130269973048913}
m_Father: {fileID: 1453251556377932393}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6144151140781756319
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6031284905392100201}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0921292620c649ef8f75f013ff51c349, type: 3}
m_Name:
m_EditorClassIdentifier:
topCollider: {fileID: 5108982195909872126}
topWillFinishCollider: {fileID: 6422771557208889528}
topFinishCollider: {fileID: 8695774672704424618}
willFinishValue: 0.6
finishValue: 0.8
--- !u!1 &6648197844505394857
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2437908282195913342}
- component: {fileID: 5108982195909872126}
m_Layer: 0
m_Name: PanEdge Top
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2437908282195913342
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6648197844505394857}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.38, y: -0.78, z: 0}
m_LocalScale: {x: 102.03828, y: 110.093575, z: 85.63402}
m_Children: []
m_Father: {fileID: 3218397595738205000}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!68 &5108982195909872126
EdgeCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6648197844505394857}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 6200000, guid: 440db2e8ae6ea41b792d56600b0532f3, type: 2}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_EdgeRadius: 2.61
m_Points:
- {x: -0.06249666, y: 0.008998046}
- {x: -0.051591836, y: 0.025973067}
- {x: -0.027804706, y: 0.042549714}
- {x: 0.0025015222, y: 0.04699563}
- {x: 0.038333848, y: 0.04032514}
- {x: 0.058061335, y: 0.025281195}
- {x: 0.06824917, y: 0.0029303213}
--- !u!1 &7627312333739799308
GameObject:
m_ObjectHideFlags: 0
@ -9821,7 +10061,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &746482762447314123
Transform:
m_ObjectHideFlags: 0

View File

@ -99,6 +99,12 @@ public class Corn : MonoBehaviour
case CornCondition.Seed:
break;
case CornCondition.Simple:
// コーンが弾けたとき、GrowSpeedを再設定する
// ThermalCondition.Hot以外では焦げ進行なし
if (!isHot)
{
ChangeGrowSpeed(0f);
}
CornPop();
break;
case CornCondition.Burnt:

View File

@ -32,6 +32,9 @@ public class CornManager : MonoBehaviour
[Space]
[SerializeField, Range(0,1)] private float screenKoProbability;
[SerializeField] private int maxScreenKoCount;
[Header("演出で増やすコーン")]
[SerializeField, Range(0, 1)] private float willFinishValue = 0.6f;
[SerializeField] private int cornAddCount = 40;
public IReadOnlyReactiveProperty<CornResult> Result => result;
private readonly ReactiveProperty<CornResult> result = new ReactiveProperty<CornResult>();
@ -39,6 +42,9 @@ public class CornManager : MonoBehaviour
public ReactiveProperty<GameState> GameState => gameState;
private readonly ReactiveProperty<GameState> gameState = new ReactiveProperty<GameState>();
public IReadOnlyReactiveProperty<float> Progress => progress;
private readonly ReactiveProperty<float> progress = new ReactiveProperty<float>(0f);
private Corn[] cornArray;
private bool isHot;
private bool isCompleted;
@ -65,6 +71,8 @@ public class CornManager : MonoBehaviour
{
cornArray = new Corn[cornSpawnCount];
result.AddTo(this);
gameState.AddTo(this);
progress.AddTo(this);
cornGrowSpeed.AddTo(this);
compositeDisposable.AddTo(this);
}
@ -126,18 +134,14 @@ public class CornManager : MonoBehaviour
isCompleted = false;
compositeDisposable.Clear();
cornConditions.Clear();
for (int i = 0; i < cornArray.Length; i++)
{
if (cornArray[i] != null)
{
Destroy(cornArray[i].gameObject);
}
}
progress.Value = 0f;
cornSpawnTarget.DestroyAllChildrens();
cornArray = new Corn[cornSpawnCount];
// コーン生成
var shuffledArray = Enumerable.Range(0, cornSpawnCount).OrderBy(_ => Random.value).ToArray();
for (int i = 0; i < cornSpawnCount; i++)
var shuffledArray = Enumerable.Range(0, cornArray.Length).OrderBy(_ => Random.value).ToArray();
for (int i = 0; i < cornArray.Length; i++)
{
var corn = Instantiate(cornPrefab, cornSpawnTarget);
cornArray[i] = corn;
@ -173,12 +177,6 @@ public class CornManager : MonoBehaviour
case CornCondition.Seed:
break;
case CornCondition.Simple:
// コーンが弾けたとき、GrowSpeedを再設定する
// ThermalCondition.Hot以外では焦げ進行なし
if (!isHot)
{
corn.ChangeGrowSpeed(0f);
}
break;
case CornCondition.Burnt:
// ミス数加算
@ -195,7 +193,15 @@ public class CornManager : MonoBehaviour
cornConditions.Add(corn.Condition);
}
var cornConditionsObservable = Observable.CombineLatest(cornConditions).Publish().RefCount();
var cornConditionsObservable = cornConditions.CombineLatest().Publish().RefCount();
// コーン全体の進捗
cornConditionsObservable
.Select(x => x.Count(cond => cond != CornCondition.Seed))
.Subscribe(x =>
{
progress.Value = (float)x / cornArray.Length;
}).AddTo(compositeDisposable);
// すべてのコーンがSeedではなくなった場合
cornConditionsObservable
@ -217,6 +223,36 @@ public class CornManager : MonoBehaviour
SetResult(CornResult.Good);
}
}).AddTo(compositeDisposable);
// 進捗によってコーンを増やす(演出用)
var amount = 5;
var times = cornAddCount / amount;
progress
.Where(x => x >= willFinishValue)
.Take(1)
.AsUnitObservable()
.Concat(Observable.TimerFrame(0,1).AsUnitObservable())
.Take(times)
.Subscribe(_ =>
{
Observable.Range(0, amount).Subscribe(__ =>
{
var corn = Instantiate(cornPrefab, cornSpawnTarget);
corn.SetCornProperty(0f, isHot ? 0f : 3f, cornSpillSpeed, cornPopSpeed);
cornGrowSpeed.TakeWhile(x => !isCompleted).Subscribe(x =>
{
// コーンが弾けた後はRedの場合のみ焦げ進行する
if (corn.Condition.Value == CornCondition.Simple && !isHot)
{
corn.ChangeGrowSpeed(0f);
return;
}
corn.ChangeGrowSpeed(x);
corn.ChangeHotStatus(isHot);
}).AddTo(compositeDisposable);
}).AddTo(compositeDisposable);
}).AddTo(compositeDisposable);
}
public void ChangeGrowSpeed(ThermalCondition condition)

View File

@ -8,29 +8,32 @@ using UnityEngine.UI;
public class MainGameDebugParameter : MonoBehaviour
{
[SerializeField] private Text text;
[SerializeField] private Text value;
[SerializeField] private InputField inputField;
[SerializeField] private Slider slider;
[SerializeField] private float minValue;
[SerializeField] private float maxValue;
// [SerializeField] private String paramName;
public IObservable<float> OnValueChange => slider.OnValueChangedAsObservable()
.Merge(inputField.OnEndEditAsObservable().Select(float.Parse))
.TakeUntilDestroy(this);
void Awake()
{
slider.minValue = minValue;
slider.maxValue = maxValue;
// text.text = paramName;
slider.OnValueChangedAsObservable().SubscribeToText(value, f => $"{f:F3}");
OnValueChange.Subscribe(x =>
{
inputField.text = $"{x:0.######}";
SetValue(x);
}).AddTo(this);
}
public void SetValue(float value)
{
// maxValueを超えた値が来た場合そちらを優先する
slider.maxValue = Mathf.Max(slider.maxValue, value);
slider.value = value;
}
// Update is called once per frame
void Update()
{
}
}

View File

@ -1,6 +1,8 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using UniRx;
using UnityEngine;
using UnityEngine.UI;
@ -16,6 +18,12 @@ public class MainGameDebugView : MonoBehaviour
[SerializeField] private Button pattern1;
[SerializeField] private Button pattern2;
[SerializeField] private MainGameDebugParameter[] panDataParameters;
[SerializeField] private PopcornGameManager gameManager;
[SerializeField] private ThermalControl thermalControl;
private readonly PanData debugPanData = new PanData();
private void Awake()
{
#if DEVELOPMENT_BUILD || UNITY_EDITOR
@ -34,21 +42,33 @@ public class MainGameDebugView : MonoBehaviour
// Start is called before the first frame update
void Start()
{
Initialize();
}
[Conditional("DEVELOPMENT_BUILD"), Conditional("UNITY_EDITOR")]
private void Initialize()
{
showDebugButton.OnClickAsObservable().Subscribe(_ =>
{
Time.timeScale = 0f;
view.SetActive(true);
}).AddTo(this);
closeDebugButton.OnClickAsObservable().Subscribe(_ =>
{
Time.timeScale = 1f;
view.SetActive(false);
}).AddTo(this);
gameResetButton.OnClickAsObservable().Subscribe(_ =>
{
Time.timeScale = 1f;
view.SetActive(false);
TransitionManager.Instance.UnloadScene(GameScenes.CookingResults);
gameManager.ResetGame(debugPanData);
}).AddTo(this);
backMainButton.OnClickAsObservable().Subscribe(_ =>
{
Time.timeScale = 1f;
TransitionManager.Instance.LoadScene(GameScenes.Main);
}).AddTo(this);
// pattern1.OnClickAsObservable().Subscribe(_ =>
@ -59,6 +79,45 @@ public class MainGameDebugView : MonoBehaviour
// {
// SetPreset(preset2);
// }).AddTo(this);
// panData取得
var originalPanData = LocalCacheManager.Load<PanData>(PopcornGameManager.PanDataTag);
debugPanData.id = originalPanData.id;
debugPanData.rarity = originalPanData.rarity;
debugPanData.prefabName = originalPanData.prefabName;
SetPanDataToParam(originalPanData);
panDataParameters.Select(param => param.OnValueChange).CombineLatest()
.ThrottleFrame(1)
// .Debug("debugParameter")
.Subscribe(x =>
{
SetParamToPanData(x);
thermalControl.SetPanData(debugPanData);
}).AddTo(this);
}
private void SetParamToPanData(IList<float> parameters)
{
debugPanData.panFactor = parameters[0];
debugPanData.deadZone = parameters[1];
debugPanData.baseIncreaseSpeed = parameters[2];
debugPanData.coldIncreaseSpeed = parameters[3];
debugPanData.hotIncreaseSpeed = parameters[4];
debugPanData.maxDecreaseSpeed = parameters[5];
debugPanData.yellowSize = parameters[6];
debugPanData.randomRange = parameters[7];
}
private void SetPanDataToParam(PanData panData)
{
panDataParameters[0].SetValue(panData.panFactor);
panDataParameters[1].SetValue(panData.deadZone);
panDataParameters[2].SetValue(panData.baseIncreaseSpeed);
panDataParameters[3].SetValue(panData.coldIncreaseSpeed);
panDataParameters[4].SetValue(panData.hotIncreaseSpeed);
panDataParameters[5].SetValue(panData.maxDecreaseSpeed);
panDataParameters[6].SetValue(panData.yellowSize);
panDataParameters[7].SetValue(panData.randomRange);
}
private float[] preset1 =
@ -112,10 +171,4 @@ public class MainGameDebugView : MonoBehaviour
}
}
// Update is called once per frame
void Update()
{
}
}

View File

@ -0,0 +1,84 @@
using System;
using UniRx;
using UnityEngine;
namespace MyGame.Scenes.Cooking.Scripts
{
public enum PanChangerState
{
Init,
WillFinish,
Finish
}
public class PanColliderChanger : MonoBehaviour
{
[SerializeField] private Collider2D topCollider;
[SerializeField] private Collider2D topWillFinishCollider;
[SerializeField] private Collider2D topFinishCollider;
[SerializeField, Range(0f, 1f)] private float willFinishValue = 1f;
[SerializeField, Range(0f, 1f)] private float finishValue = 1f;
private ReactiveProperty<PanChangerState> panChangerState = new ReactiveProperty<PanChangerState>();
private void Start()
{
panChangerState.AddTo(this);
panChangerState.Value = PanChangerState.Init;
panChangerState.Subscribe(x =>
{
switch (x)
{
case PanChangerState.Init:
Init();
break;
case PanChangerState.WillFinish:
WillFinish();
break;
case PanChangerState.Finish:
Finish();
break;
default:
throw new ArgumentOutOfRangeException(nameof(x), x, null);
}
}).AddTo(this);
}
public void Reset()
{
panChangerState.Value = PanChangerState.Init;
}
public void ChangeState(float value)
{
if (value >= finishValue)
{
panChangerState.Value = PanChangerState.Finish;
}
else if (value >= willFinishValue)
{
panChangerState.Value = PanChangerState.WillFinish;
}
}
private void Init()
{
topCollider.enabled = true;
topWillFinishCollider.enabled = false;
topFinishCollider.enabled = false;
}
private void WillFinish()
{
topCollider.enabled = false;
topWillFinishCollider.enabled = true;
topFinishCollider.enabled = false;
}
private void Finish()
{
topCollider.enabled = false;
topWillFinishCollider.enabled = false;
topFinishCollider.enabled = true;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0921292620c649ef8f75f013ff51c349
timeCreated: 1650607663

View File

@ -1,8 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
using MyGame.Scenes.Cooking.Scripts;
using MyGame.Scripts;
using UniRx;
using UniRx.Diagnostics;
using UniRx.Triggers;
using UnityEngine;
using UnityEngine.EventSystems;
@ -28,10 +30,11 @@ public class PopcornGameManager : MonoBehaviour
[SerializeField] private ThermalControl thermalControl;
[SerializeField] private ThermoMeter thermoMeter;
[SerializeField] private CornManager cornManager;
[SerializeField] private PanColliderChanger panColliderChanger;
#if DEVELOPMENT_BUILD || UNITY_EDITOR
[SerializeField] private Button resetButton;
#endif
[Space]
[SerializeField, ReadOnly] private float gameProgress;
[SerializeField] private float resultDelay = 1.2f;
private readonly ReactiveProperty<GameState> state = new ReactiveProperty<GameState>(GameState.Guide);
private readonly CompositeDisposable compositeDisposable = new CompositeDisposable();
@ -74,6 +77,12 @@ public class PopcornGameManager : MonoBehaviour
}
});
cornManager.Progress.Subscribe(x =>
{
gameProgress = x;
panColliderChanger.ChangeState(x);
}).AddTo(this);
ResetGame();
if (!GameDataManager.GameData.FinishedFlags.HasFlag(TutorialFlag.FirstPlay))
@ -87,14 +96,6 @@ public class PopcornGameManager : MonoBehaviour
});
}
#if DEVELOPMENT_BUILD || UNITY_EDITOR
resetButton.OnClickAsObservable().Subscribe(_ =>
{
TransitionManager.Instance.UnloadScene(GameScenes.CookingResults);
ResetGame();
}).AddTo(this);
#endif
#if UNITY_EDITOR
this.UpdateAsObservable()
.Where(_ => Input.GetKeyDown(KeyCode.R))
@ -112,48 +113,39 @@ public class PopcornGameManager : MonoBehaviour
cornManager.Result
.SkipLatestValueOnSubscribe()
// .DistinctUntilChanged()
.Materialize()
.Subscribe(x => { Debug.Log(x); }).AddTo(this);
.Debug("Result")
.Subscribe(x => { }).AddTo(this);
#endif
}
private void ResetGame()
{
var panData = LocalCacheManager.Load<PanData>(PanDataTag);
ResetGame(panData);
}
public void ResetGame(PanData panData)
{
var rarityList = SpreadsheetDataManager.Instance.GetBaseDataList<RarityData>(Const.RarityDataSheet);
var rarityData = rarityList.First(data => data.Rarity == panData.Rarity);
// フライパン設定
gameView.SetPan(panData.GetPrefab());
thermalControl.SetPanData(panData);
#if UNITY_EDITOR
Debug.Log($@"
name = {panData.Name}
panFactor = {panData.panFactor}
deadZone = {panData.deadZone}
baseIncreaseSpeed = {panData.baseIncreaseSpeed}
coldIncreaseSpeed = {panData.coldIncreaseSpeed}
hotIncreaseSpeed = {panData.hotIncreaseSpeed}
maxDecreaseSpeed = {panData.maxDecreaseSpeed}
yellowSize = {panData.yellowSize}
randomRange = {panData.randomRange}
");
#endif
cornManager.SetCornsActive(true);
panColliderChanger.Reset();
compositeDisposable.Clear();
cornManager.Result.SkipLatestValueOnSubscribe()
.FirstOrDefault()
.DelayFrame(1) // Disposeタイミング調整
.Take(1)
.Subscribe(result =>
{
state.Value = GameState.Result;
// リザルト表示遅延
this.CallWaitForSeconds(1.2f, () =>
Observable.Timer(TimeSpan.FromSeconds(resultDelay)).Subscribe(_ =>
{
LocalCacheManager.Save(CookingResultDataTag, (rarityData, result, new Action(() => cornManager.SetCornsActive(false))));
LocalCacheManager.Save(RestartCallbackTag, new Action(ResetGame));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.CookingResults);
});
}).AddTo(compositeDisposable);
}).AddTo(compositeDisposable);
// 画面タップでスタート

View File

@ -45,45 +45,16 @@ public class ThermalControl : MonoBehaviour
public IReadOnlyReactiveProperty<ThermalCondition> Condition => condition;
private readonly ReactiveProperty<ThermalCondition> condition = new ReactiveProperty<ThermalCondition>(ThermalCondition.Cold);
#if DEVELOPMENT_BUILD || UNITY_EDITOR
[SerializeField] private Slider factorSlider;
[SerializeField] private Slider deadZoneSlider;
[SerializeField] private Slider baseSpeedSlider;
[SerializeField] private Slider coldSpeedSlider;
[SerializeField] private Slider hotSpeedSlider;
[SerializeField] private Slider decreaseSpeedSlider;
[SerializeField] private Slider yellowSizeSlider;
[SerializeField] private Slider randomRangeSlider;
#endif
private void Start()
{
condition.AddTo(this);
#if UNITY_EDITOR
condition.Subscribe(x =>
{
Debug.Log($"cond :{x} temp: {temperature}");
}).AddTo(this);
// condition.Subscribe(x =>
// {
// Debug.Log($"cond :{x} temp: {temperature}");
// }).AddTo(this);
#endif
#if DEVELOPMENT_BUILD || UNITY_EDITOR
factorSlider.value = panFactor;
deadZoneSlider.value = deadZone;
baseSpeedSlider.value = baseIncreaseSpeed;
coldSpeedSlider.value = coldIncreaseSpeed;
hotSpeedSlider.value = hotIncreaseSpeed;
decreaseSpeedSlider.value = maxDecreaseSpeed;
yellowSizeSlider.value = yellowSize;
randomRangeSlider.value = randomRange;
factorSlider.OnValueChangedAsObservable().Skip(1).Subscribe(x => panFactor = x).AddTo(this);
deadZoneSlider.OnValueChangedAsObservable().Skip(1).Subscribe(x => deadZone = x).AddTo(this);
baseSpeedSlider.OnValueChangedAsObservable().Skip(1).Subscribe(x => baseIncreaseSpeed = x).AddTo(this);
coldSpeedSlider.OnValueChangedAsObservable().Skip(1).Subscribe(x => coldIncreaseSpeed = x).AddTo(this);
hotSpeedSlider.OnValueChangedAsObservable().Skip(1).Subscribe(x => hotIncreaseSpeed = x).AddTo(this);
decreaseSpeedSlider.OnValueChangedAsObservable().Skip(1).Subscribe(x => maxDecreaseSpeed = x).AddTo(this);
yellowSizeSlider.OnValueChangedAsObservable().Skip(1).Subscribe(x => yellowSize = x).AddTo(this);
randomRangeSlider.OnValueChangedAsObservable().Skip(1).Subscribe(x => randomRange = x).AddTo(this);
#endif
}
private void Update()
@ -190,6 +161,18 @@ public class ThermalControl : MonoBehaviour
public void SetPanData(PanData panData)
{
#if UNITY_EDITOR
Debug.Log($@"SetPanData
name = {panData.Name}
panFactor = {panData.panFactor}
deadZone = {panData.deadZone}
baseIncreaseSpeed = {panData.baseIncreaseSpeed}
coldIncreaseSpeed = {panData.coldIncreaseSpeed}
hotIncreaseSpeed = {panData.hotIncreaseSpeed}
maxDecreaseSpeed = {panData.maxDecreaseSpeed}
yellowSize = {panData.yellowSize}
randomRange = {panData.randomRange}");
#endif
panFactor = panData.panFactor;
deadZone = panData.deadZone;
baseIncreaseSpeed = panData.baseIncreaseSpeed;
@ -198,15 +181,5 @@ public class ThermalControl : MonoBehaviour
maxDecreaseSpeed = panData.maxDecreaseSpeed;
yellowSize = panData.yellowSize;
randomRange = panData.randomRange;
#if UNITY_EDITOR || DEVELOPMENT_BUILD
factorSlider.value = panFactor;
deadZoneSlider.value = deadZone;
baseSpeedSlider.value = baseIncreaseSpeed;
coldSpeedSlider.value = coldIncreaseSpeed;
hotSpeedSlider.value = hotIncreaseSpeed;
decreaseSpeedSlider.value = maxDecreaseSpeed;
yellowSizeSlider.value = yellowSize;
randomRangeSlider.value = randomRange;
#endif
}
}

View File

@ -58,10 +58,16 @@ namespace MyGame.Scenes.Main.Scripts
}
else
{
if (gameData.StorageTanks.Exists(data => data.FlavorId == productData.id && data.Capacity - data.Stock >= productData.volume))
// 空以外の補充可能な空きがあるタンクを優先して判定する
if (gameData.StorageTanks.Exists(data => !data.IsEmpty && data.FlavorId == productData.id && data.Capacity - data.Stock >= productData.volume))
{
continue;
}
if (emptyTankCount > 0)
{
emptyTankCount--;
continue;
}
discardProductList.Add(productData);
}
}

View File

@ -58,7 +58,7 @@ namespace MyGame.Scenes.Main.Scripts
});
}).AddTo(this);
cookerLevelText.text = $"{gameData.AutoCookLevel}";
cookerLevelText.text = isMaxLevel ? "MAX" : $"{gameData.AutoCookLevel}";
earnCountText.text = $"{autoCookData.earnCount}{ScriptLocalization.Unit.Amount}";
durationText.text = $"{autoCookData.duration}{ScriptLocalization.Unit.Hours}";
usesCountText.text = isMaxLevel ? "--/--" : $"{gameData.AutoCookUsesCount}/{autoCookData.clearCount}";

View File

@ -298,7 +298,7 @@ public class KitchenManager : MonoBehaviour
if (!result.newOrder)
{
if (gameData.OrderIdInProgress != gameData.CancelOrderId)
if (!cancelled)
{
SetPhoneTap();
}
@ -381,26 +381,20 @@ public class KitchenManager : MonoBehaviour
{
return (false, nextOrderId, nextOrderLevel);
}
var achieved = gameData.DeliveredOrder.Contains(gameData.OrderIdInProgress);
var canceled = gameData.OrderIdInProgress == gameData.CancelOrderId;
var nextOrderList = bulkOrderList.Where(data => data.shopLevel == nextOrderLevel).ToList();
if (!nextOrderList.Exists(data => data.id == gameData.OrderIdInProgress))
{
// まだ次のオーダーが設定されてない場合nextOrderListの一番若いIDを設定
nextOrderId = nextOrderList.First().id;
}
else if (achieved || gameData.OrderIdInProgress == gameData.CancelOrderId && gameData.CancelOrderId > 0)
else if (achieved || canceled)
{
// 達成済みか、キャンセルされた場合次のIDを設定
// 未達成のオーダー
var orderList = nextOrderList.Where(data => !gameData.DeliveredOrder.Contains(data.id)).ToList();
if (orderList.Count > 0)
{
var nextIndex = orderList.FindIndex(data => data.id > gameData.OrderIdInProgress);
nextOrderId = orderList[Mathf.Max(0, nextIndex)].id;
}
else
if (orderList.Count <= 0)
{
#if UNITY_EDITOR
// オーダーリストがすべて達成済みの場合エラー
@ -409,18 +403,26 @@ public class KitchenManager : MonoBehaviour
$"delivered:{gameData.DeliveredOrder.Aggregate(string.Empty, (s, data) => $"{s}, {data}")}\n" +
$"orderList:{nextOrderList.Aggregate(string.Empty, (s, data) => $"{s}, {data.id}")}");
#endif
return (false, nextOrderId, nextOrderLevel);
}
var nextIndex = orderList.FindIndex(data => data.id > gameData.OrderIdInProgress);
nextOrderId = orderList[Mathf.Max(0, nextIndex)].id;
}
if (gameData.OrderIdInProgress == nextOrderId)
{
return (false, nextOrderId, nextOrderLevel);
}
var orderData = nextOrderList.First(data => data.id == nextOrderId);
var isFirst = !nextOrderList.Exists(data => data.id == gameData.CancelOrderId);
var condition = isFirst ? orderData.firstOrderCondition : orderData.retryCondition;
// キャンセル時retryConditionを使う
var condition = canceled ? orderData.retryCondition : orderData.firstOrderCondition;
#if UNITY_EDITOR
Debug.Log($"nextOrderId: {nextOrderId} use {(canceled ? "retryCondition" : "firstOrderCondition")} ({gameData.OrderConditionCount}/{condition})");
#endif
// 条件チェック
return (condition <= gameData.OrderConditionCount, nextOrderId, nextOrderLevel);
}

View File

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MyGame.Scripts;
using UniRx;
using UnityEngine;
@ -85,16 +84,11 @@ public class ProductManagement : MonoBehaviour
if (tankView.TankNumber > gameData.StorageTanks.Count)
{
// 価格の一番小さいタンクのみ購入できるようにする
if (tankView.TankNumber == gameData.StorageTanks.Count + 1)
{
tankView.SetState(TankState.Lock);
}
else
{
tankView.SetState(TankState.Unavailable);
}
var isSmallest = tankView.TankNumber == gameData.StorageTanks.Count + 1;
tankView.SetState(isSmallest ? TankState.Lock : TankState.Unavailable);
// タンク購入
var shopData = shopDataList.First(data => data.id == Const.ShopTankId);
shopData.price = PriceList[tankView.TankNumber - 1];
// 購入可否
tankView.SetCanBuy(shopData.price <= CoinManager.Instance.OwnCoin);
@ -104,10 +98,10 @@ public class ProductManagement : MonoBehaviour
.TakeWhile(_ => tankView.State.Value == TankState.Lock || tankView.State.Value == TankState.Unavailable)
.Subscribe(_ =>
{
Action<int> purchaseAction = amount =>
void PurchaseAction(int amount)
{
// タンク追加
gameData.StorageTanks.Add(new StorageTank() {Capacity = Const.TankCapacity});
gameData.StorageTanks.Add(new StorageTank { Capacity = Const.TankCapacity });
tankView.SetData(gameData.StorageTanks[tankView.TankNumber - 1]);
tankView.SetState(TankState.Unlock);
CoinManager.Instance.SubCoin(shopData.price);
@ -119,9 +113,10 @@ public class ProductManagement : MonoBehaviour
tankList[tankView.TankNumber].SetState(TankState.Lock);
tankList[tankView.TankNumber].SetCanBuy(PriceList[tankView.TankNumber] <= CoinManager.Instance.OwnCoin);
}
};
}
shopData.price = PriceList[tankView.TankNumber - 1];
ShopItemPurchaseView.ShowDialog((shopData, 0), purchaseAction);
ShopItemPurchaseView.ShowDialog((shopData, 0), PurchaseAction);
}).AddTo(tankView);
}
else
@ -156,31 +151,38 @@ public class ProductManagement : MonoBehaviour
{
case ManagementState.None:
ChangeAllTankInteractable(tankList, true);
ClearSelectedTank(tankList);
break;
case ManagementState.Replacing:
break;
case ManagementState.Tasting:
// 空以外のタンクを選択
var index = gameData.StorageTanks.FindIndex(tank => tank.Stock > 0);
// ストックのあるタンクのIndex取得。なければ試食モード中止。
var index = gameData.StorageTanks.FindIndex(tank => !tank.IsEmpty);
if (index == -1)
{
state.Value = ManagementState.None;
return;
}
// 選択中のタンクにストックがあればIndex更新
var selectedIndex = tankList.FindIndex(tankView => tankView.State.Value == TankState.Selected);
if (selectedIndex != -1 && !gameData.StorageTanks[selectedIndex].IsEmpty)
{
index = selectedIndex;
}
ChangeAllTankInteractable(tankList, false);
ClearSelectedTank(tankList);
tankList[index].SetState(TankState.Selected);
var tankData = gameData.StorageTanks[index];
selectedTank.Value = (tankList[index].TankNumber, productList.FirstOrDefault(data => data.id == tankData.FlavorId));
Action tastingAction = () =>
selectedTank.Value = (index + 1, productList.FirstOrDefault(data => data.id == tankData.FlavorId));
void TastingAction()
{
state.Value = ManagementState.None;
Tasting(selectedTank.Value.num);
tankList[selectedTank.Value.num - 1].SetData(gameData.StorageTanks[selectedTank.Value.num - 1]);
SetActiveTastingButton(gameData.StorageTanks.Any(tank => !tank.IsEmpty));
};
LocalCacheManager.Save(TastingView.TastingDataTag, (selectedTank.AsObservable(), new Action(() => state.Value = ManagementState.None), tastingAction));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Tasting);
}
TastingView.ShowDialog(selectedTank.AsObservable(), () => state.Value = ManagementState.None, TastingAction);
break;
default:
throw new ArgumentOutOfRangeException(nameof(mState), mState, null);
@ -188,10 +190,10 @@ public class ProductManagement : MonoBehaviour
}).AddTo(this);
// タンククリック検知
Observable.Merge(tankList.Select(tankView => tankView.TankClickObservable.Select(_ => tankView)))
var tankClickStream = tankList.Select(tankView => tankView.TankClickObservable.Select(_ => tankView)).Merge();
tankClickStream
.Where(tankView => tankView.State.Value != TankState.Lock)
.Where(tankView => tankView.State.Value != TankState.Unavailable)
.Where(tankView => gameData.StorageTanks[tankView.TankNumber - 1].Stock > 0)
.Subscribe(tankView =>
{
switch (state.Value)
@ -204,9 +206,13 @@ public class ProductManagement : MonoBehaviour
case ManagementState.Replacing:
break;
case ManagementState.Tasting:
var tankData = gameData.StorageTanks[tankView.TankNumber - 1];
if (tankData.IsEmpty)
{
break;
}
ClearSelectedTank(tankList);
tankView.SetState(TankState.Selected);
var tankData = gameData.StorageTanks[tankView.TankNumber - 1];
selectedTank.Value = (tankView.TankNumber, productList.FirstOrDefault(data => data.id == tankData.FlavorId));
break;
default:
@ -215,10 +221,7 @@ public class ProductManagement : MonoBehaviour
}).AddTo(this);
// 2連続でクリックされたViewがまとめて取得できるストリーム
var replacingObservable = Observable.Merge(tankList.Select(x => x.TankClickObservable.Select(_ => x)))
.Where(x => x.State.Value != TankState.Lock)
.Where(x => x.State.Value != TankState.Unavailable)
.Where(tankView => gameData.StorageTanks[tankView.TankNumber - 1].Stock > 0)
var replacingObservable = tankClickStream
.TakeWhile(_ => state.Value != ManagementState.Tasting)
.Pairwise();
// タンク入れ替え
@ -237,11 +240,13 @@ public class ProductManagement : MonoBehaviour
tanks.Current.SetData(gameData.StorageTanks[tanks.Current.TankNumber - 1]);
GameDataManager.SaveGameData();
}
ClearSelectedTank(tankList);
state.Value = ManagementState.None;
}).AddTo(this);
// 試食ボタン
// 空以外のタンクが1つでもあれば有効
SetActiveTastingButton(gameData.StorageTanks.Any(tank => !tank.IsEmpty));
// 試食ボタン
tastingButton.OnClickAsObservable().Subscribe(_ =>
{
state.Value = ManagementState.Tasting;
@ -250,10 +255,6 @@ public class ProductManagement : MonoBehaviour
// 商品補充タイプ切替
view.RefillType.Subscribe(mode =>
{
if (state.Value != ManagementState.Tasting)
{
state.Value = ManagementState.None;
}
// 補充方法変更
gameData.RefillMode = mode;
GameDataManager.SaveGameData();
@ -291,7 +292,6 @@ public class ProductManagement : MonoBehaviour
private void Tasting(int tankNumber)
{
state.Value = ManagementState.None;
// 試食フラグに終了時間を設定
var tank = GameDataManager.GameData.StorageTanks[tankNumber - 1];
GameDataManager.GameData.AddTastingCustomerCount(tank.Stock);

View File

@ -6,7 +6,7 @@ using UnityEngine.UI;
public class TastingView : MonoBehaviour
{
public static readonly string TastingDataTag = "TastingData";
private static readonly string TastingDataTag = "TastingData";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
@ -44,4 +44,10 @@ public class TastingView : MonoBehaviour
});
}).AddTo(this);
}
public static void ShowDialog(IObservable<(int tankNum, ProductData productData)> selectedObservable, Action closeButtonAction, Action tastingButtonAction)
{
LocalCacheManager.Save(TastingDataTag, (selectedObservable, closeButtonAction, tastingButtonAction));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Tasting);
}
}