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

This commit is contained in:
koya_15 2022-07-28 14:57:51 +09:00
commit 0b04f5135e
15 changed files with 641 additions and 113 deletions

View File

@ -1 +1 @@
0JGb9UFU1CZQRt0MuqSjmQaMks+ukOMHyibSk9e/RWR/9+8DZVkG3vJda/5phs/v
S60kh82TfGDU135ani3GSJY1pry9kzjd4+iVZZXZNW9LyJA8dgxO0cnGPHV2+7KS

View File

@ -1 +1 @@
MIa5t9VKm7CoyIOXE1YBSusOGOp/n+/ea3lMmjvoUkuoB7dUGNSSTuVMim/q1w2HTY5iyLG5f0nMIuSP2x6Pp9Mcgve3pWzhRiKKeWV85+BTHz646WISGYUPbGTqT0l7G8A2af+3GHMrM8N4h49oIPNxfqwMeQAna3V0S4cfPFaBRAncaYfao0yXYFcMwBMKavOiOiGrzru1F8Vrpknbur3iTslkxogAjjwDcqY94LVVCLnxgSrt0R4ta2pKxMRusiq4Fz9bolEbo6OgWuyNeg3VvHuQcsHM4JQfOezRlt8=
Cq8Qg4qg27vPWHh0O+pAKqNHb2dh6qZfEca52GO4jFbq0rX2dMQ41tOBH9gOdNLkU68KEhrrglkK+8lZZnwXupBBBKVC4ekbjCqoTBDlwzq/mfbOq1i9dMzRvfj1ZDKEoaqPQHfyddTRo/hvoTImVO67Xpanh3ZLJ68+mslTUxmgvFHDbo3L50SSvrsQt6cUyyDnLU/l4VXs8isnnFTkMi6zbzbKRSCCOkLjCn8tTETMkdpCKC8WPXZ/I9VcBvpbsR5/c/D8EfCRDfWDUfc2Ug==

View File

@ -1 +1 @@
T9yYpLdNTe7fylu3p4xoW68Q9Psu55096yYGlmq2fF4pnXfdNib/D6ystQBOz7l3IboWE0BL2Q2fVTVpR2Tr17YWb4ahLSuEIFWbx6PowbbnGB9E0uzc+MwAtQzDcPI87NoYZvswjzHSxCyLMCF7S5nDwTdjWI7Rv83jqcmjyRAFM39wG33wHTyXS1Rzlyz2IpYTdDDqhu7ka9yQEwAv4PJBnL8FU5kR71M+hapC/y/a7GASlbh18l2ylNR+SpSGjWAqPTN2Iypp1rfuZE+8KbZfNHb0UcyAdsxZAIEQzE/IdfUnfACfBQrjsOsTN7+fhLhKLnqePn7u5V69+BnCAg==
4AGAEFgbNbHdysCKSOFCxePlbGXDmZgQnDq68Me/38IUE4YssxVVz8YNRK/9op9khQyS3nvkaUTzEDNpSVijX9oD5n3AtZKgb6PsSRf/g0ifDaJ3Hi7bF7k1c5cH29Tl3W+4+sY6BuaVCGJyFB0XGtqen8dOAHXLiDqs8NpnSN9eLUkL9qNVRakHxv2QVLC3GP+Wbkfgp/uX6gsd/WjppnPimgIPkVUsno6a6U98EZ1/yk+inwCZh/Ez4341h087Aw39oKgAmZwdWm828NpT/L0jGs0KlFpYKwigKMC6dIZBRzEaaATBUoL5Eyl3fHcrDOm1kUB5UJ4ydWHkZi9PXdzv58u/cohMBIt8VMT7fS0LUWre04Qm9lUSND5frIaCXa+o8mS34M1vJTwJIgaqUuibTbTMPn9TsJuTq4QKZnz2tru7AsEpMZcPHDJVZaH7wio9eaH6X53e663gXHoPIBrCa5IlWRmsyCJUPxtyXun+kbhSAhsL1BSGdz4yO979fLjcCFqnup2x4QJqgTufhln3mWsk6Ntcq+V2j+wn8qc=

View File

@ -1,5 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1272456563178855448
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4119720326004031226}
m_Layer: 0
m_Name: StartPos
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4119720326004031226
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1272456563178855448}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2233378810729895866}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5140115440945204540
GameObject:
m_ObjectHideFlags: 0
@ -31,6 +62,8 @@ Transform:
m_Children:
- {fileID: 1871391700204483434}
- {fileID: 9198101237787776717}
- {fileID: 4119720326004031226}
- {fileID: 2252598198102958556}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -46,8 +79,39 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 3c6db6d25de0477999fc1b02c09563c0, type: 3}
m_Name:
m_EditorClassIdentifier:
startPos: {fileID: 4193759859366624240}
endPos: {fileID: 6653402502725990282}
startPos: {fileID: 4119720326004031226}
endPos: {fileID: 2252598198102958556}
--- !u!1 &8752002035899489105
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2252598198102958556}
m_Layer: 0
m_Name: 10Seconds point
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2252598198102958556
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8752002035899489105}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 50, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2233378810729895866}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1956465928252795982
PrefabInstance:
m_ObjectHideFlags: 0
@ -122,18 +186,6 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 0522f5a9c22654ceca2b9ae04eecfac0, type: 3}
--- !u!4 &4193759859366624240 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 2384085606314497982, guid: 0522f5a9c22654ceca2b9ae04eecfac0,
type: 3}
m_PrefabInstance: {fileID: 1956465928252795982}
m_PrefabAsset: {fileID: 0}
--- !u!4 &6653402502725990282 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 5148565685416549316, guid: 0522f5a9c22654ceca2b9ae04eecfac0,
type: 3}
m_PrefabInstance: {fileID: 1956465928252795982}
m_PrefabAsset: {fileID: 0}
--- !u!4 &9198101237787776717 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7242064396380437123, guid: 0522f5a9c22654ceca2b9ae04eecfac0,

View File

@ -1,5 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3996415437712048096
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2551531464901230235}
m_Layer: 0
m_Name: 10Seconds point
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2551531464901230235
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3996415437712048096}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 50, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2124088376866006345}
m_RootOrder: 33
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &4464340028676474214
GameObject:
m_ObjectHideFlags: 0
@ -26,6 +57,7 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 148.91467, y: 2.3177247, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2124088376866006345}
m_RootOrder: 14
@ -56,6 +88,7 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 67.6, y: 2.3177245, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2124088376866006345}
m_RootOrder: 13
@ -69,6 +102,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 2124088376866006345}
- component: {fileID: 8151766844780269456}
m_Layer: 0
m_Name: Stage1b
m_TagString: Untagged
@ -86,6 +120,7 @@ Transform:
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5334254581099664965}
- {fileID: 6889697067878944854}
@ -119,9 +154,56 @@ Transform:
- {fileID: 6087903602085080222}
- {fileID: 1678366341090779137}
- {fileID: 7225821940121177158}
- {fileID: 2744337522936473663}
- {fileID: 2551531464901230235}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &8151766844780269456
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6825300293089241174}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3c6db6d25de0477999fc1b02c09563c0, type: 3}
m_Name:
m_EditorClassIdentifier:
startPos: {fileID: 2744337522936473663}
endPos: {fileID: 2551531464901230235}
--- !u!1 &8850265187220067279
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2744337522936473663}
m_Layer: 0
m_Name: StartPos
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2744337522936473663
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8850265187220067279}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2124088376866006345}
m_RootOrder: 32
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &457306673180935537
PrefabInstance:
m_ObjectHideFlags: 0

View File

@ -1,5 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2689750290871442059
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3032965588344489343}
m_Layer: 0
m_Name: 10Seconds point
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3032965588344489343
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2689750290871442059}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 50, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2454089663812030026}
m_RootOrder: 44
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &3275894143691012192
GameObject:
m_ObjectHideFlags: 0
@ -26,6 +57,7 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 148.91467, y: 2.3177247, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2454089663812030026}
m_RootOrder: 19
@ -56,10 +88,42 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 67.6, y: 2.3177245, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2454089663812030026}
m_RootOrder: 18
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &6694553627163660619
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6048486752769672188}
m_Layer: 0
m_Name: StartPos
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6048486752769672188
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6694553627163660619}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2454089663812030026}
m_RootOrder: 43
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7862439291227870202
GameObject:
m_ObjectHideFlags: 0
@ -69,6 +133,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 2454089663812030026}
- component: {fileID: 4315162973960776756}
m_Layer: 0
m_Name: Stage2a
m_TagString: Untagged
@ -86,6 +151,7 @@ Transform:
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7385970265648474765}
- {fileID: 1436922894456840906}
@ -130,9 +196,25 @@ Transform:
- {fileID: 8990417723823175798}
- {fileID: 4119678685895478872}
- {fileID: 7035028842901830796}
- {fileID: 6048486752769672188}
- {fileID: 3032965588344489343}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &4315162973960776756
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7862439291227870202}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3c6db6d25de0477999fc1b02c09563c0, type: 3}
m_Name:
m_EditorClassIdentifier:
startPos: {fileID: 6048486752769672188}
endPos: {fileID: 3032965588344489343}
--- !u!1001 &154133418959109957
PrefabInstance:
m_ObjectHideFlags: 0

View File

@ -1,5 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &276417027094206333
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5191287873334589830}
m_Layer: 0
m_Name: StartPos
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5191287873334589830
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 276417027094206333}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4580468283174947829}
m_RootOrder: 45
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &3990959132084175070
GameObject:
m_ObjectHideFlags: 0
@ -26,10 +57,42 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 148.91467, y: 2.3177247, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4580468283174947829}
m_RootOrder: 19
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &4881296025979749866
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 671163420963226038}
m_Layer: 0
m_Name: 10Seconds point
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &671163420963226038
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4881296025979749866}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 50, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4580468283174947829}
m_RootOrder: 46
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &8063655011831821646
GameObject:
m_ObjectHideFlags: 0
@ -39,6 +102,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 4580468283174947829}
- component: {fileID: -4430287025709974354}
m_Layer: 0
m_Name: Stage2b
m_TagString: Untagged
@ -56,6 +120,7 @@ Transform:
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3180800213718610208}
- {fileID: 6863554737051595384}
@ -102,9 +167,25 @@ Transform:
- {fileID: 5524822289189389556}
- {fileID: 4411667517282319924}
- {fileID: 2432726148392566763}
- {fileID: 5191287873334589830}
- {fileID: 671163420963226038}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &-4430287025709974354
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8063655011831821646}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3c6db6d25de0477999fc1b02c09563c0, type: 3}
m_Name:
m_EditorClassIdentifier:
startPos: {fileID: 5191287873334589830}
endPos: {fileID: 671163420963226038}
--- !u!1 &8119634201046921871
GameObject:
m_ObjectHideFlags: 0
@ -131,6 +212,7 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 67.6, y: 2.3177245, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4580468283174947829}
m_RootOrder: 18

View File

@ -26,6 +26,7 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 67.6, y: 2.3177245, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2725888655826027606}
m_RootOrder: 23
@ -39,6 +40,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 2725888655826027606}
- component: {fileID: -3158566811373325103}
m_Layer: 0
m_Name: Stage3a
m_TagString: Untagged
@ -56,6 +58,7 @@ Transform:
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5347965671286190159}
- {fileID: 7681174380056256220}
@ -114,9 +117,25 @@ Transform:
- {fileID: 587880479454672967}
- {fileID: 6946350040614471511}
- {fileID: 7149021530372022108}
- {fileID: 6905923460852342595}
- {fileID: 5913068647431169118}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &-3158566811373325103
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3563731758725637829}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3c6db6d25de0477999fc1b02c09563c0, type: 3}
m_Name:
m_EditorClassIdentifier:
startPos: {fileID: 6905923460852342595}
endPos: {fileID: 5913068647431169118}
--- !u!1 &4344372735096427100
GameObject:
m_ObjectHideFlags: 0
@ -143,10 +162,73 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 148.91467, y: 2.3177247, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2725888655826027606}
m_RootOrder: 24
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7592866035446771160
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6905923460852342595}
m_Layer: 0
m_Name: StartPos
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6905923460852342595
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7592866035446771160}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2725888655826027606}
m_RootOrder: 57
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &8778783817517642641
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5913068647431169118}
m_Layer: 0
m_Name: 10Seconds point
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5913068647431169118
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8778783817517642641}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 50, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2725888655826027606}
m_RootOrder: 58
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &5061227295512138
PrefabInstance:
m_ObjectHideFlags: 0

View File

@ -26,10 +26,42 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 67.6, y: 2.3177245, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2552418280157887158}
m_RootOrder: 23
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &4440357155852556307
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2412075483273799316}
m_Layer: 0
m_Name: 10Seconds point
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2412075483273799316
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4440357155852556307}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 50, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2552418280157887158}
m_RootOrder: 58
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7741594668631066970
GameObject:
m_ObjectHideFlags: 0
@ -39,6 +71,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 2552418280157887158}
- component: {fileID: 7601905581502890767}
m_Layer: 0
m_Name: Stage3b
m_TagString: Untagged
@ -56,6 +89,7 @@ Transform:
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3577449681499657311}
- {fileID: 3316532519096250085}
@ -114,9 +148,25 @@ Transform:
- {fileID: 1406049225113618935}
- {fileID: 5427914803057467536}
- {fileID: 7858943900312324155}
- {fileID: 1130693150276541006}
- {fileID: 2412075483273799316}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &7601905581502890767
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7741594668631066970}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3c6db6d25de0477999fc1b02c09563c0, type: 3}
m_Name:
m_EditorClassIdentifier:
startPos: {fileID: 1130693150276541006}
endPos: {fileID: 2412075483273799316}
--- !u!1 &8543158018243461153
GameObject:
m_ObjectHideFlags: 0
@ -143,10 +193,42 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 148.91467, y: 2.3177247, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2552418280157887158}
m_RootOrder: 24
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &8927894187572342464
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1130693150276541006}
m_Layer: 0
m_Name: StartPos
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1130693150276541006
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8927894187572342464}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2552418280157887158}
m_RootOrder: 57
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &118996657701961724
PrefabInstance:
m_ObjectHideFlags: 0
@ -4710,18 +4792,18 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 9909b8ac6fba54dcd98d1a129a7c8c09, type: 3}
--- !u!4 &7645641885994862055 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 2000043922596723899, guid: 9909b8ac6fba54dcd98d1a129a7c8c09,
type: 3}
m_PrefabInstance: {fileID: 8204243026862422364}
m_PrefabAsset: {fileID: 0}
--- !u!4 &1322287398587251349 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7170547486884922313, guid: 9909b8ac6fba54dcd98d1a129a7c8c09,
type: 3}
m_PrefabInstance: {fileID: 8204243026862422364}
m_PrefabAsset: {fileID: 0}
--- !u!4 &7645641885994862055 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 2000043922596723899, guid: 9909b8ac6fba54dcd98d1a129a7c8c09,
type: 3}
m_PrefabInstance: {fileID: 8204243026862422364}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &8281111852129607500
PrefabInstance:
m_ObjectHideFlags: 0

View File

@ -1889,6 +1889,10 @@ MonoBehaviour:
readyObject: {fileID: 978217474}
tutorialPopupObject: {fileID: 7325523898178317160}
resultWaitTime: 1
easyPitch: 1
normalPitch: 1.05
hardPitch: 1.1
extraPitch: 1.15
isDebug: 0
--- !u!4 &1870432534
Transform:
@ -1936,13 +1940,10 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
stageTarget: {fileID: 1450368326}
normalTime: 15
hardTime: 30
extraTime: 45
stageGenerateDistance: 15
generateStageCount: 1
beginStageOffset: 0.5
partsToPartsOffset: 3
partsToPartsOffset: 0
--- !u!114 &1932485204
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -33,6 +33,10 @@ namespace MyGame.Scenes.MiniGame.Scripts
[SerializeField] private GameObject readyObject;
[SerializeField] private GameObject tutorialPopupObject;
[SerializeField] private float resultWaitTime = 1f;
[SerializeField, ReadOnly] private float easyPitch = 1f;
[SerializeField] private float normalPitch = 1.1f;
[SerializeField] private float hardPitch = 1.2f;
[SerializeField] private float extraPitch = 1.4f;
#if UNITY_EDITOR
[SerializeField] private bool isDebug;
#endif
@ -76,6 +80,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
var levelPlaceList = placeList.Where(data => data.placeId == placeId).ToArray();
var levelStageList = stageList.Where(data => data.placeId == placeId).ToArray();
// スコア保存に1つ目のstageDataIdを使用
var stageData = levelStageList[0];
var scoreUpdate = new Subject<Unit>().AddTo(this);
stageSelectView.SetPlaceData(levelPlaceList);
@ -92,20 +97,14 @@ namespace MyGame.Scenes.MiniGame.Scripts
{
if (gameData.ScrollGameTodayPlayCount == 0)
{
gameData.ScrollGameLastPlayTime = DateTime.UtcNow.ToBinary();
gameData.ScrollGameTodayPlayCount++;
ResetGame(levelPlaceList, stageData);
menuState.Value = MenuState.Game;
ResetGameWithCount(levelPlaceList, levelStageList);
return;
}
// ポップアップ ビデオ視聴表示
ScrollGameWatchVideoDialog.ShowDialog(() =>
{
gameData.ScrollGameLastPlayTime = DateTime.UtcNow.ToBinary();
gameData.ScrollGameTodayPlayCount++;
ResetGame(levelPlaceList, stageData);
menuState.Value = MenuState.Game;
ResetGameWithCount(levelPlaceList, levelStageList);
});
}).AddTo(this);
scoreUpdate.OnNext(Unit.Default);
@ -162,11 +161,13 @@ namespace MyGame.Scenes.MiniGame.Scripts
break;
case GameState.Play:
SoundManager.Instance.PlaySE("se_minigame_Start");
stageManager.StartTimer();
break;
case GameState.Success:
SoundManager.Instance.PlaySE("se_minigame_End");
player.Result();
SoundManager.Instance.PlaySE("se_minigame_End", () =>
{
SoundManager.Instance.ChangePitchBGM(1f);
player.Result();
});
break;
case GameState.Failure:
break;
@ -200,7 +201,10 @@ namespace MyGame.Scenes.MiniGame.Scripts
// カメラ移動
cameraTransform.position = playerPosX * Vector3.right + cameraOffset;
bgManager.UpdatePos(playerPosX);
stageManager.UpdatePos(playerPosX);
if (!player.IsHit)
{
stageManager.UpdatePos(playerPosX);
}
}).AddTo(this);
stageManager.OnFence.Subscribe(x =>
@ -213,6 +217,15 @@ namespace MyGame.Scenes.MiniGame.Scripts
{
bgManager.SetSky(x);
player.SetSpeed(x);
var pitch = x switch
{
ScrollGameDifficulty.Easy => easyPitch,
ScrollGameDifficulty.Normal => normalPitch,
ScrollGameDifficulty.Hard => hardPitch,
ScrollGameDifficulty.Extra => extraPitch,
_ => throw new ArgumentOutOfRangeException(nameof(x), x, null)
};
SoundManager.Instance.ChangePitchBGM(pitch);
}).AddTo(this);
player.OnEndHit.Subscribe(_ =>
@ -220,13 +233,6 @@ namespace MyGame.Scenes.MiniGame.Scripts
state.Value = GameState.Success;
}).AddTo(this);
player.CurrentSpeedMultiply.SkipLatestValueOnSubscribe()
.Where(_ => state.Value == GameState.Play)
.Subscribe(x =>
{
SoundManager.Instance.ChangePitchBGM(x);
}).AddTo(this);
player.OnHitItem.Where(_ => state.Value == GameState.Play).Subscribe(x =>
{
if (!x.TryGetComponent<StageItem>(out var item))
@ -274,8 +280,8 @@ namespace MyGame.Scenes.MiniGame.Scripts
switch (item.ItemType)
{
case StageItem.Type.Obstacle:
stageManager.StopTimer();
player.Hit(closestPoint);
SoundManager.Instance.ChangePitchBGM(0f);
break;
case StageItem.Type.Item1:
break;
@ -290,12 +296,21 @@ namespace MyGame.Scenes.MiniGame.Scripts
}
}).AddTo(this);
}
private void ResetGameWithCount (ScrollGamePlaceData[] levelPlaceList, ScrollGameStageData[] levelStageList)
{
GameDataManager.GameData.ScrollGameLastPlayTime = DateTime.UtcNow.ToBinary();
GameDataManager.GameData.ScrollGameTodayPlayCount++;
stageManager.SetStageList(levelStageList);
ResetGame(levelPlaceList, levelStageList);
menuState.Value = MenuState.Game;
}
private void ResetGame(ScrollGamePlaceData[] placeList, ScrollGameStageData stageData)
private void ResetGame(ScrollGamePlaceData[] placeList, ScrollGameStageData[] stageDataList)
{
SoundManager.Instance.ChangeVolumeUniqueBGM(1f);
// ステージ読み込み
stageManager.SetBeginStages(stageData.GetBeginStagePrefabs());
stageManager.SetBeginStages();
player.transform.position = characterBeginPos;
player.ResetPlayer();
scoreCount.Value = 0;
@ -306,7 +321,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
.SelectMany(Observable.Timer(TimeSpan.FromSeconds(resultWaitTime)))
.Subscribe(x =>
{
resultManager.ShowResult(scoreCount.Value, placeList, stageData);
resultManager.ShowResult(scoreCount.Value, placeList, stageDataList[0]);
SoundManager.Instance.ChangePitchBGM(1f);
}).AddTo(gameCompositeDisposable);
@ -314,10 +329,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
{
ScrollGameWatchVideoDialog.ShowDialog(() =>
{
GameDataManager.GameData.ScrollGameLastPlayTime = DateTime.UtcNow.ToBinary();
GameDataManager.GameData.ScrollGameTodayPlayCount++;
// ステージ読み込み
ResetGame(placeList, stageData);
ResetGameWithCount(placeList, stageDataList);
});
}).AddTo(gameCompositeDisposable);

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using UniRx;
using UnityEngine;
@ -8,77 +9,143 @@ namespace MyGame.Scenes.MiniGame.Scripts
public class StageManager : MonoBehaviour
{
[SerializeField] private Transform stageTarget;
[SerializeField] private float normalTime;
[SerializeField] private float hardTime;
[SerializeField] private float extraTime;
[SerializeField] private float stageGenerateDistance;
[SerializeField] private int generateStageCount;
[SerializeField] private float beginStageOffset;
[SerializeField] private float partsToPartsOffset;
private Transform[] stagePrefabs;
private Transform[] stages;
private float normalTime;
private float hardTime;
private float extraTime;
private Transform[] stageBeginPrefabList;
private Transform[] stageRandomPrefabList;
private int beginIndex;
private int lengthIndex;
private float stageEndXPos;
private float cacheTargetXPos;
public IObservable<float> OnFence => fenceSubject;
public IObservable<float> OnFence => fenceSubject.DelayFrame(1); // 1フレーム送らせて通知
private readonly Subject<float> fenceSubject = new();
public IReadOnlyReactiveProperty<ScrollGameDifficulty> Difficulty => difficulty;
private readonly ReactiveProperty<ScrollGameDifficulty> difficulty = new();
private IDisposable timerDisposable;
private ScrollGameDifficulty generateStageDifficulty;
private IDisposable timerDisposable;
private readonly Dictionary<ScrollGameDifficulty, ScrollGameStageData> stageDataDict = new();
private void Start()
{
fenceSubject.AddTo(this);
difficulty.AddTo(this);
difficulty.SkipLatestValueOnSubscribe().Subscribe(_ =>
{
// 難易度変更時にリソース開放
Resources.UnloadUnusedAssets();
Debug.Log($"change difficulty ({difficulty.Value}) and unload resources");
}).AddTo(this);
}
public void SetBeginStages(Transform[] newStages)
public void SetStageList(ScrollGameStageData[] stageDataList)
{
// ステージリストを取り込み
stageDataDict.Clear();
foreach (var stageData in stageDataList)
{
if (stageDataDict.ContainsKey(stageData.Difficulty))
{
continue;
}
stageDataDict.Add(stageData.Difficulty, stageData);
}
}
public void SetBeginStages()
{
difficulty.SetValueAndForceNotify(ScrollGameDifficulty.Easy);
stagePrefabs = newStages;
stageTarget.DestroyAllChildrens();
stageEndXPos = stageTarget.position.x + beginStageOffset;
cacheTargetXPos = stageEndXPos;
lengthIndex = 0;
beginIndex = 0;
generateStageDifficulty = difficulty.Value;
GenerateStage();
}
private void GenerateStage()
{
var selectIndex = UnityEngine.Random.Range(0, stagePrefabs.Length);
for (var i = 0; i < generateStageCount; i++)
// リソース読み込み
stageBeginPrefabList = stageDataDict[generateStageDifficulty].GetBeginStagePrefabs();
stageRandomPrefabList = stageDataDict[generateStageDifficulty].GetRandomStagePrefabs();
var stagePrefabs = Array.Empty<Transform>();
var stageCount = stageDataDict[generateStageDifficulty].length;
if (stageCount == 0)
{
var stage = Instantiate(stagePrefabs[selectIndex], stageTarget.position + Vector3.left * 100f, Quaternion.identity, stageTarget);
var minPos = float.MaxValue;
var maxPos = float.MinValue;
var holePosList = new List<float>();
stage.FindAllChildrensComponent<StageItem>(x =>
stageCount = generateStageCount;
}
// beginPrefabsの使用が終わったらrandomに切り替え
if (stageBeginPrefabList.Length > beginIndex)
{
var rangeEnd = Mathf.Min(beginIndex + stageCount, stageBeginPrefabList.Length);
stagePrefabs = stageBeginPrefabList[beginIndex..rangeEnd];
beginIndex += stagePrefabs.Length;
}
var randomStageCount = stageCount - stagePrefabs.Length;
if (randomStageCount > 0)
{
var prefabs = (stageRandomPrefabList?.Length ?? 0) > 0 ? stageRandomPrefabList : stageBeginPrefabList;
while (randomStageCount > 0)
{
var xPos = x.transform.position.x;
minPos = Mathf.Min(minPos, xPos);
maxPos = Mathf.Max(maxPos, xPos);
if (x.ItemType == StageItem.Type.Hole)
{
holePosList.Add(xPos);
}
});
var xPos = stage.position.x;
var minDiff = minPos - xPos;
var maxDiff = maxPos - xPos;
stage.SetPositionX(stageEndXPos - minDiff);
var count = Mathf.Min(randomStageCount, prefabs.Length);
stagePrefabs = stagePrefabs.Concat(prefabs.RandomChoose(count)).ToArray();
randomStageCount -= count;
}
}
lengthIndex += stagePrefabs.Length;
foreach (var stagePrefab in stagePrefabs)
{
var stage = Instantiate(stagePrefab, stageTarget.position + Vector3.left * 100f, Quaternion.identity, stageTarget).GetComponent<Stage>();
stage.transform.SetPositionX(stageEndXPos + stage.transform.position.x - stage.StartXPos);
// endPos更新
stageEndXPos = stage.position.x + maxDiff + partsToPartsOffset;
var cacheStageEndPos = stageEndXPos;
stageEndXPos = stage.EndPos + partsToPartsOffset;
// ステージの破棄
var cacheStageEndPos = stageEndXPos;
Observable.Interval(TimeSpan.FromSeconds(.5f))
.First(_ => cacheStageEndPos < cacheTargetXPos)
.Subscribe(_ => { }, () =>
{
Destroy(stage.gameObject);
Destroy(stage.gameObject, 5f);
}).AddTo(stage.gameObject);
// 落とし穴があった場合通知
holePosList.ToObservable().DelayFrame(1).Subscribe(x =>
stage.transform.FindAllChildrensComponent<StageItem>(x =>
{
fenceSubject.OnNext(stage.position.x + x - xPos);
}).AddTo(this);
if (x.ItemType != StageItem.Type.Hole)
{
return;
}
fenceSubject.OnNext(x.transform.position.x);
});
}
// 指定の長さ生成を終えた場合
if (lengthIndex >= stageDataDict[generateStageDifficulty].length)
{
// 次回ステージ生成の難易度を変更
generateStageDifficulty = NextDifficulty(generateStageDifficulty);
lengthIndex = 0;
beginIndex = 0;
// ステージを完走すると難易度変更
var cacheStageEndPos = stageEndXPos;
Observable.Interval(TimeSpan.FromSeconds(.5f))
.First(_ => cacheStageEndPos < cacheTargetXPos)
.Subscribe(_ => { }, () =>
{
difficulty.Value = NextDifficulty(difficulty.Value);
}).AddTo(this);
}
}
@ -91,30 +158,16 @@ namespace MyGame.Scenes.MiniGame.Scripts
}
}
public void StartTimer()
private static ScrollGameDifficulty NextDifficulty(ScrollGameDifficulty value)
{
StopTimer();
timerDisposable = Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1))
.Subscribe(x =>
{
if (x >= extraTime)
{
difficulty.Value = ScrollGameDifficulty.Extra;
}
else if (x >= hardTime)
{
difficulty.Value = ScrollGameDifficulty.Hard;
}
else if (x >= normalTime)
{
difficulty.Value = ScrollGameDifficulty.Normal;
}
}).AddTo(this);
}
public void StopTimer()
{
timerDisposable?.Dispose();
return value switch
{
ScrollGameDifficulty.Easy => ScrollGameDifficulty.Normal,
ScrollGameDifficulty.Normal => ScrollGameDifficulty.Hard,
ScrollGameDifficulty.Hard => ScrollGameDifficulty.Extra,
ScrollGameDifficulty.Extra => ScrollGameDifficulty.Extra,
_ => throw new ArgumentOutOfRangeException(nameof(value), value, null)
};
}
}
}

View File

@ -562,8 +562,8 @@ public sealed class ScrollGameStageData
public int length;
public ScrollGameDifficulty Difficulty => (ScrollGameDifficulty)difficulty;
private string[] BeginPrefabName => beginPrefabName.Split(',');
private string[] RandomPrefabName => randomPrefabName.Split(',');
private string[] BeginPrefabName => beginPrefabName?.Split(',') ?? Array.Empty<string>();
private string[] RandomPrefabName => randomPrefabName?.Split(',') ?? Array.Empty<string>();
public Transform[] GetBeginStagePrefabs()
{
return BeginPrefabName.Select(x => Resources.Load<Transform>($"ScrollGame/Stages/Stage{x}")).ToArray();